0

この質問は、他の人の利益と私自身の好奇心のためのものです。私は今のところ回避策をまとめました(とを使用"matches": ["http://*/*", "https://*/*"]してif (location.hostname == "www.youtube.com")います。

とにかく、このような問題が発生した場合は、コードが機能し始めるまで、コードをより単純な形式に分解します。次に、何がコードをつまずかせているのかを理解できます。しかし、私は今、それを単純化することができず、それでも機能しないという点に到達しました。Chromeは、YouTubeのどのページにもコンテンツスクリプトを挿入しません。

 

ファイル以下のZIPへのリンク

マニフェスト.json:

{
    "name": "test",
    "version": "0",
    "manifest_version": 2,

    "content_scripts": [ 
        {
            "js": [
                "test.js"
            ],
            "matches": [
                "*://youtube.com/*"
            ],
            "run_at": "document_end",
            "all_frames": true
        }
    ]
}

test.js:

alert("test");

 

進捗

動作しません:

  • 値を変更し、matchesURLを静的に定義します(ワイルドカードなし)
  • の値を変えるrun_at
  • の値を変えるall_frames
  • スクリプトを変更するtest.js
  • Windows7x64の新規インストールでのChromev24.0.1312.57の新規インストール

動作します:

  • matches値をYouTube以外のものに変更する
  • matches値をに変更します"http://*/*", "https://*/*"

 

私はここで本当に明白な何かを見逃しているように感じますが、それは数日です..; /

4

1 に答える 1

1

マニフェストで一致を「http://www.youtube.com/ *」と定義すると、これは機能します

于 2013-02-20T18:24:20.250 に答える