2012-10-07 314 views
4

我正在開發Chrome擴展的設置頁面。在我的options.js文件中,我想用一些默認值初始化設置,並使用window.onload = initSettings();。在我的initSettings()函數中,我試圖通過document.getElementById("someId")訪問DOM的輸入。但是這個電話總是返回null。我認爲在所有的DOM元素都到位之後,會觸發window.onload事件。Chrome擴展加載行爲

我在做什麼錯?

回答

7

我在我的options.js文件的頂部有這個 - 自從我上次使用擴展名玩了這麼久,我不能確定它有什麼幫助。值得一試..

// fires when script is first loaded 
// can't do onInit directly here, because the DOM hasn't been loaded for options.html yet 
// we just set an event listener for document.DOMContentLoaded - In that handler we can call onInit 
document.addEventListener('DOMContentLoaded', onInit, false); 
+0

這是有效的。謝謝。 –

+0

不錯。別客氣。 :) – enhzflep

0

我需要我的瀏覽器擴展程序打開時運行一段代碼,我用下面的代碼:

document.addEventListener("DOMContentLoaded", function(){ checkCheckBoxes(); }, false); 

其中「checkCheckBoxes」是JavaScript函數,得到調用。