Chrome扩展程序在完成加载前注入javascript

时间:2012-07-13 14:18:16

标签: dom google-chrome-extension

我很想创建一个在执行脚本之前阻止脚本的Chrome扩展程序。

脚本标记位于正文标记中,而不在头部。

是否可以这样做?

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++;
        }

});

但剧本仍在运行......

我怎么能让它起作用?

1 个答案:

答案 0 :(得分: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