1

JavaScript ライブラリ (jQuery など) をロードするとき、それらは Window 要素にオブジェクトを作成する傾向があります。

ライブラリがロードされたばかりのときを検出する方法を見つけようとしているので、ウィンドウオブジェクトのプロパティの変更を検出しようとする道をたどりました...

window.addEventListener("DOMAttrModified", invalidate, false);

function invalidate(evt)
{
    console.log('attrChange = ' + evt.attrChange);
}

...これは機能しません。

おそらく誰かが、この解決策と、外部ライブラリがロードされたことを検出するメカニズムの両方を解決する別の方法を知っているでしょう。

ありがとう、ニック

ps script タグの onload タグを確認しましたが、W3C にないので心配です。

pps 最終的には、jQuery コードを安全に使用できる関数を実装しようとしています。

4

1 に答える 1

0

js コードが script タグよりも下にある場合でも心配はいりません。script タグがロードされていない間は html レンダリングが停止するため、js コードが下にある場合、ライブラリは既にロードされています。

また、変数 ( など$) の存在を確認することもできます。

if (typeof jQuery != 'undefined') {
  // is loaded
} else {
  // is not loaded
}

または間隔を介してループ内:

var interval = setInterval(function () {
  if (typeof jQuery != 'undefined') {
    clearInterval(interval);
    // do what you want
  }
});
于 2012-07-31T17:48:52.833 に答える