1

我正在尝试创建一个 Chrome 扩展程序,在脚本执行之前阻止它。

脚本标签在 body 标签中,而不是在 head 中。

有可能这样做吗?

在 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 回答