窗口之间有什么区别。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。位置(参见1996年的MSDN页面和2006年的W3C草案)。
将此与文档进行比较。location,它最初只返回当前URL作为字符串(请参阅MSDN上的此页)。可能是为了避免混淆,文档。位置已替换为文档。URL(请参阅MSDN),它也是DOM级别1的一部分。
据我所知,所有现代浏览器都映射文档。窗口的位置。不过我还是喜欢靠窗的。location,因为这是我自编写第一个DHTML以来一直使用的。
实际上,我注意到两者之间的chrome的区别,例如,如果你想做一个导航到沙盒框架从一个子框架,那么你可以这样做,只是与文档。Location,但不是window。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中的协议时,我猜他们有一些原因。
总的来说:我个人相信这份文件。位置和窗口。位置是相同的,但如果巨人与最大的统计使用浏览器像谷歌使用文档。地点,我建议遵循他们。
现在很少能看到区别,因为html 5不再支持框架集了。但在那个时候我们有框架集,文档。Location将只重定向正在执行代码的帧和窗口。Location将重定向整个页面。
推荐文章
- onClick ReactJS调用多个函数
- 如何在JavaScript中转义单引号(')?
- Ng-repeat结束事件
- 谷歌MAP API未捕获的类型错误:无法读取属性“offsetWidth”为空
- 模糊vs聚焦-有什么真正的区别吗?
- 如何使用JavaScript创建和样式一个div ?
- 清除JavaScript中的缓存
- 如何在使用Javascript替换DOM元素?
- 在Redux应用程序中哪里写localStorage ?
- 如何在ReactJS中从“外部”访问组件方法?
- 为时刻添加持续时间(moment.js)
- 如何在JavaScript中获得时区名称?
- 在JSON键名中哪些字符是有效的/无效的?
- jQuery中的live()转换为on()
- 如何区分鼠标的“点击”和“拖动”