为什么Webkit将HTMLDivElements附加到窗口对象?

时间:2012-03-30 14:19:37

标签: javascript webkit

我曾经通过检查window对象的内容来检查是否存在全局可用的JS库。现在我被这样一个事实抛弃:如果我检查说jQuery并且在页面上有一个这样的元素:<div id="jQuery">,它将在window.jQuery下可用。

这有什么好处?

示例:http://jsfiddle.net/7xVeJ/2/

在Linux上的Chrome 16.0.912.75上

1 个答案:

答案 0 :(得分:3)

基本上,这是因为在早期版本的DOM接口中,命名元素作为document对象的属性公开。然后一些浏览器决定在window对象上公开这些属性。有关完整故事,请参阅bobince的回答here

要解决这种情况,您可以测试window.jQuery是一个函数:

if (typeof window.jQuery === "function") {
    // jQuery should be available.
}