2013-01-02 227 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" 
    } 
    ], 
    ... 
} 

使用此選項時,代碼在呈現頁面時使用。