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


当前回答

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

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

其他回答

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

根据W3C的说法,它们是相同的。实际上,为了跨浏览器的安全性,您应该使用window。Location而不是document.location。

见:http://www.w3.org/TR/html/browsers.html dom-location

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

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

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

有趣的是,如果你有一个名为'location'的框架、图像或窗体,那么'document. properties '则为'location . properties '。location'提供了对框架窗口、图像或窗体的引用,而不是location对象。显然,这是因为文件。表单、文档。image和window.frames集合名称查找优先于window.location的映射。

<img name='location' src='location.png'>

if (document.location.tagName == 'IMG') alert('Hello!')

据我所知,两者是一样的。为了跨浏览器安全,您可以使用window。Location而不是document.location。

所有现代浏览器都映射文档。窗口的位置。不过我还是喜欢靠窗的。自从我写了我的第一个网页,我就一直使用这个地址。它更加一致。

你也可以看到文档。Location ===窗口。Location返回true,这说明两者是相同的。