2013-01-02 187 views
0

我的Chrome扩展程序添加了对js文件的几个引用(例如<script src="javascript_file_1.js"></script>)。使用chrome的'检查元素'功能,我可以看到所有引用都被正确添加,但是它们似乎并未被“加载”。有什么方法可以'重新执行'页面,以便这些新的js文件被加载?Chrome扩展程序 - 扩展程序加载的JavaScript文件

这里是我使用的代码:

var srcArray = ["javascript_file_1.js", 
     "javascript_file_2.js", 
     "javascript_file_3.js", 
     "javascript_file_4.js", 
     "javascript_file_5.js", 
     "javascript_file_6.js", 
     "javascript_file_7.js"]; 

function AddScript(value) 
{ 
    var entry = document.createElement("SCRIPT") 
    entry.src = value; 
    document.head.appendChild(entry); 

} 

他们似乎在页面渲染得到后加入,因此在渲染页面没有使用他们的内容。

非常感谢, 卢克

+0

你装的是什么意思? –

+0

它们似乎是在页面呈现后添加的,因此在呈现页面时不会使用它们的内容。 –

+0

这个问题并不清楚......但如果你想在网页的上下文中运行你的JS代码,你需要使用内容脚本。例如:chrome.tabs.executeScript(null,{file:“content_script.js”});应该管用。 –

回答

0

注入你的内容脚本"run_at" : "document_start",使用此选项注入脚本css injection后立即注射,但DOM构造或任何其他脚本运行之前。

{ 
    "name": "My extension", 
    ... 
    "content_scripts": [ 
    { 
     "matches": ["http://www.google.com/*"], 
     "css": ["mystyles.css"], 
     "js": ["jquery.js", "myscript.js"], 
     "run_at": "document_start" 
    } 
    ], 
    ... 
} 

使用此选项时,代码在呈现页面时使用。