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


当前回答

现在很少能看到区别,因为html 5不再支持框架集了。但在那个时候我们有框架集,文档。Location将只重定向正在执行代码的帧和窗口。Location将重定向整个页面。

其他回答

我想说是窗户。location是更可靠的获取当前URL的方式。 下面是窗口的区别。位置和文档。在其中一个场景中,我在url中添加哈希参数,然后读取它。

在URL中添加散列参数后。

在较旧的浏览器中,我无法通过使用document从URL获得散列参数。url,但当我使用窗口。然后我就能从URL中得到哈希参数。

所以最好使用window。location。

是的,他们是一样的,但是....!

窗口。location在某些Internet Explorer浏览器上无法工作。

获取当前位置对象的规范方法是window。位置(参见1996年的MSDN页面和2006年的W3C草案)。

将此与文档进行比较。location,它最初只返回当前URL作为字符串(请参阅MSDN上的此页)。可能是为了避免混淆,文档。位置已替换为文档。URL(请参阅MSDN),它也是DOM级别1的一部分。

据我所知,所有现代浏览器都映射文档。窗口的位置。不过我还是喜欢靠窗的。location,因为这是我自编写第一个DHTML以来一直使用的。

现在很少能看到区别,因为html 5不再支持框架集了。但在那个时候我们有框架集,文档。Location将只重定向正在执行代码的帧和窗口。Location将重定向整个页面。

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

also

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

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