我曾经通过检查window
对象的内容来检查是否存在全局可用的JS库。现在我被这样一个事实抛弃:如果我检查说jQuery并且在页面上有一个这样的元素:<div id="jQuery">
,它将在window.jQuery
下可用。
这有什么好处?
示例:http://jsfiddle.net/7xVeJ/2/
在Linux上的Chrome 16.0.912.75上
答案 0 :(得分:3)
基本上,这是因为在早期版本的DOM接口中,命名元素作为document
对象的属性公开。然后一些浏览器决定在window
对象上公开这些属性。有关完整故事,请参阅bobince的回答here。
要解决这种情况,您可以测试window.jQuery
是一个函数:
if (typeof window.jQuery === "function") {
// jQuery should be available.
}