小さなChrome拡張機能を作成しています(content_script
)。Chrome content_script:jQueryを待つ方法
これは単一のドメインで実行されますが、私はサイトを少し改善しようとしています。
コンテンツスクリプトでjQuery
を使用しますが、サイトでもjQuery
が使用されているため、拡張機能のcontent_script
配列にjQueryを追加することはできません。
マイcontent_script
ます
"run_at": "document_end"
しかしjQuery
はまだロードされていないです。それはdocument_idle
にもロードされていません。
だから私はそれを待たなければならない。
どうすればよいですか?
私はこれやってみました:
(function() {
var i = setInterval(function() {
console.log(typeof jQuery + " " + i);
if (typeof jQuery != "undefined") {
console.log("jQuery loaded");
clearInterval(i);
} else {
console.log("jQuery not loaded");
}
}, 200);
})();
をしかし、何らかの理由typeof jQuery
のために、常にそのループ内で定義されていません。
手動でclearInterval
を入力し、typeof jQuery
をチェックすると、正しく"function"
が得られます。
(クロムインスペクタコンソール)
アイデア?
EDIT: content_script
Sは特別です:
コンテンツのスクリプトは、ウェブ ページのコンテキストで実行するJavaScriptファイルです。標準のDOM(Document Object Model)を使用することにより、 ブラウザにアクセスするウェブページの詳細を読むか、 に変更することができます。
私は 'content_script'を使用しています:コンテンツスクリプトは、ウェブページのコンテキストで動作するJavaScriptファイルです。標準のDOM(Document Object Model)を使用することにより、ブラウザが訪れたWebページの詳細を読んだり、変更を加えることができます。 – Prody
@Prody DOMにアクセスできますが、変数や関数にアクセスすることはできません。 http://code.google.com/chrome/extensions/dev/content_scripts.html#execution-environment – serg
をご覧ください。ありがとうございます! – Prody