1

実行前にスクリプトをブロックする Chrome 拡張機能を作成しようとしています。

script タグは head ではなく body タグにあります。

そうすることは可能ですか?

manifest.json で content_scripts を次のように設定しました。

"content_scripts": [
{
    "run_at": "document_start",
  "matches": ["http://website.it/*"],
  "js": ["dojob.js"]

}]

そして、私のスクリプトはこれです:

var cont = 0;

document.addEventListener("DOMNodeInserted", function(event){
        if(cont==0){
            alert(document.getElementsByTagName("script")[0].src);
            document.getElementsByTagName("script")[0].src = "";
            cont++;
        }

});

しかし、スクリプトはまだ実行されています...

どうすればうまくいきませんか?

4

1 に答える 1

4

あなたの作成以来、src=""私はjsが外部であると考えています。その場合は、beforeload イベントまたは webrequest API を使用して、スクリプトの読み込みをブロックできます。

function doBeforeLoad(event){
    if (event.srcElement.tagName=="SCRIPT" && event.srcElement.src=='test.js') {
        event.preventDefault();
    }
}

document.addEventListener('beforeload', doBeforeLoad , true);

http://code.google.com/chrome/extensions/webRequest.html

于 2012-07-14T14:09:49.823 に答える