加载JavaScript库(如jQuery)时,它们倾向于在Window元素上创建一个对象。
我正在努力找出如何检测库何时刚刚加载,所以我一直在尝试检测窗口对象的属性更改。。。
window.addEventListener("DOMAttrModified", invalidate, false);
function invalidate(evt)
{
console.log('attrChange = ' + evt.attrChange);
}
这行不通。
也许有人知道另一种方法来解决这个解决方案和检测外部库何时加载的机制。
附言:我已经查看了script标记的onload标记,但我很担心,因为W3C中它是而不是。
p.p.s.最后,我试图实现一个可以安全使用jQuery代码的函数。
如果你的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
}
});