8

Chrome 拡張機能の設定ページを開発しています。私の options.js ファイルでは、いくつかのデフォルト値で設定を初期化したいので、window.onload = initSettings();そのために使用します。私のinitSettings()関数では、 経由で DOM からの入力にアクセスしようとしていますdocument.getElementById("someId")。しかし、この呼び出しは常に を返しますnullwindow.onloadすべてのDOM要素が配置された後にイベントが発生すると思いました。

私は何を間違っていますか?

4

2 に答える 2

12

私は 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);
于 2012-10-07T15:53:05.883 に答える
2

Chrome 拡張機能を開いたときにコードを実行する必要があったため、次のコードを使用しました。

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

ここで、「checkCheckBoxes」は呼び出される Javascript 関数です。

于 2016-12-11T17:27:43.300 に答える