窗口之间有什么区别。Location和document。Location ?它们是否都引用同一个对象?


当前回答

是的,它们是一样的。这是浏览器JS API的众多历史怪癖之一。试着做:

window.location === document.location

其他回答

窗口。位置在所有兼容的浏览器上都是读/写的。

文档。location在Internet Explorer(至少)中是只读的,但在基于gecko的浏览器(Firefox, SeaMonkey)中是读/写的。

文档。Location ===窗口。Location返回true

also

Document.location.constructor === window.location.constructor为true

注:仅在Firefox 3.6、Opera 10和IE6上测试

文档。location最初是一个只读属性,尽管Gecko浏览器也允许你为它赋值。为了跨浏览器安全,请使用window。位置相反。

阅读更多:

document.location

window.location

至少在IE中,它在本地文件上有一点不同:

文档。URL将返回 ”文件:/ / C: \ \ abc \ a.html项目”

但是window。location。href会返回 “文件:/ / / C: / / abc / a.html”项目

一个是反斜杠,一个是正斜杠。

是的,它们是一样的。这是浏览器JS API的众多历史怪癖之一。试着做:

window.location === document.location