1

在加载 javascript 库(如 jQuery)时,它们倾向于在 Window 元素上创建一个对象。

我正在尝试弄清楚如何检测库刚刚加载的时间,所以我已经走上了尝试检测窗口对象属性更改的道路......

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

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

...这不起作用。

也许有人知道解决此解决方案的另一种方法以及一种检测外部库何时加载的机制。

谢谢,尼克

ps 我查看了脚本标记的 onload 标记,但我担心它不在W3C 中。

pps 最终,我正在尝试实现一个可以安全使用 jQuery 代码的函数。

4

1 回答 1

0

如果您的 js 代码低于 script 标签,请不要担心,html 渲染会在未加载 script 标签时停止,因此如果您的 js 低于 script 标签,则库已经加载。

您也可以检查是否存在某些变量(如$)。

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 回答