私はChrome拡張機能を書いています。URLがオンラインかどうかも確認する必要があります。URL は変数を返すので、var が true の場合、URL はオンラインです。
URL がオフラインの場合、エラーが発生するまでに約 2 秒かかるため、拡張機能のポップアップが毎回開始されるまでに 2 秒かかります。
これは私の「古い」バージョンです:
popup.html:
<script language="javascript" src="http://example.org/jdcheck.js"></script>
<script language="javascript" src="popup.js"></script>
popup.js:
if (variable) { [...] }
まあ、それはうまくいきました-2秒後。
アイデアが浮かんだので、popup.html の scriptlink を削除しました。これが私の新しい popup.js です。
background.$(document).ready(function() {
var jq = document.createElement('script'); jq.type = 'text/javascript';
jq.src = 'http://127.0.0.1:9666/jdcheck.js';
document.getElementsByTagName('head')[0].appendChild(jq);
if(jdownloader){
[...action]
}
});
ご覧のとおり、jQuery を使用して Checkfile をロードします。
今、それは私にエラーをスローします:
Uncaught ReferenceError: jdownloader is not defined
createElement が機能しなかったようです。URL から必要な変数が得られることは 100% 確信しています。
手伝っていただけませんか?これを解決する方法がわかりません..
ありがとうございました!マーカス
編集: jQuery の部分を削除し、keepGoing と jq.onload を追加しました:
function keepGoing() {
console.log("JS should have been loaded");
if(jdownloader){
[action]
}
}
var jq = document.createElement('script');
jq.onload = keepGoing();
jq.src = 'http://127.0.0.1:9666/jdcheck.js';
document.getElementsByTagName('head')[0].appendChild(jq);
今、コンソールは私にこれを与えます:
JS should have been loaded popup.js:98
Uncaught ReferenceError: jdownloader is not defined popup.js:100
そのため、jdownloader var が popup.js に渡されていないようです。なぜ..なぜ?! 知らない。
マーカス