窗口之间有什么区别。Location和document。Location ?它们是否都引用同一个对象?
当前回答
尽管大多数人在这里推荐,这就是谷歌Analytics的动态协议剪辑的样子(在他们最近从ga.js转移到analysis .js之前):
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
更多信息:https://developers.google.com/analytics/devguides/collection/gajs/
在新版本中,他们使用了'//',所以浏览器可以自动添加协议:
'//www.google-analytics.com/analytics.js'
如果谷歌更喜欢document。窗口的位置。当他们需要JS中的协议时,我猜他们有一些原因。
总的来说:我个人相信这份文件。位置和窗口。位置是相同的,但如果巨人与最大的统计使用浏览器像谷歌使用文档。地点,我建议遵循他们。
其他回答
窗口。考虑到较老的浏览器,位置是两者中更可靠的一致性。
据我所知,两者是一样的。为了跨浏览器安全,您可以使用window。Location而不是document.location。
所有现代浏览器都映射文档。窗口的位置。不过我还是喜欢靠窗的。自从我写了我的第一个网页,我就一直使用这个地址。它更加一致。
你也可以看到文档。Location ===窗口。Location返回true,这说明两者是相同的。
有趣的是,如果你有一个名为'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!')
根据W3C的说法,它们是相同的。实际上,为了跨浏览器的安全性,您应该使用window。Location而不是document.location。
见:http://www.w3.org/TR/html/browsers.html dom-location
是的,他们是一样的,但是....!
窗口。location在某些Internet Explorer浏览器上无法工作。