窗口之间有什么区别。Location和document。Location ?它们是否都引用同一个对象?
当前回答
我想说是窗户。location是更可靠的获取当前URL的方式。 下面是窗口的区别。位置和文档。在其中一个场景中,我在url中添加哈希参数,然后读取它。
在URL中添加散列参数后。
在较旧的浏览器中,我无法通过使用document从URL获得散列参数。url,但当我使用窗口。然后我就能从URL中得到哈希参数。
所以最好使用window。location。
其他回答
实际上,我注意到两者之间的chrome的区别,例如,如果你想做一个导航到沙盒框架从一个子框架,那么你可以这样做,只是与文档。Location,但不是window。Location
是的,它们是一样的。这是浏览器JS API的众多历史怪癖之一。试着做:
window.location === document.location
至少在IE中,它在本地文件上有一点不同:
文档。URL将返回 ”文件:/ / C: \ \ abc \ a.html项目”
但是window。location。href会返回 “文件:/ / / C: / / abc / a.html”项目
一个是反斜杠,一个是正斜杠。
现在很少能看到区别,因为html 5不再支持框架集了。但在那个时候我们有框架集,文档。Location将只重定向正在执行代码的帧和窗口。Location将重定向整个页面。
Document.location.constructor === window.location.constructor为true。
这是因为它与document.location===window.location中看到的对象完全相同。
因此,不需要比较构造函数或任何其他属性。