窗口之间有什么区别。Location和document。Location ?它们是否都引用同一个对象?
当前回答
现在很少能看到区别,因为html 5不再支持框架集了。但在那个时候我们有框架集,文档。Location将只重定向正在执行代码的帧和窗口。Location将重定向整个页面。
其他回答
窗口。考虑到较老的浏览器,位置是两者中更可靠的一致性。
获取当前位置对象的规范方法是window。位置(参见1996年的MSDN页面和2006年的W3C草案)。
将此与文档进行比较。location,它最初只返回当前URL作为字符串(请参阅MSDN上的此页)。可能是为了避免混淆,文档。位置已替换为文档。URL(请参阅MSDN),它也是DOM级别1的一部分。
据我所知,所有现代浏览器都映射文档。窗口的位置。不过我还是喜欢靠窗的。location,因为这是我自编写第一个DHTML以来一直使用的。
据我所知,两者是一样的。为了跨浏览器安全,您可以使用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!')
我更喜欢使用文档。位置,尽管位置,文档。位置和窗口。Location返回相同的对象。
使用文件的原因。地点是:
窗口的浏览器兼容性部分。位置提到
在Firefox 57之前,通过URL api访问URL时,URL中包含的单引号会被转义。参见bug 1386683。
文档的浏览器兼容性部分。位置提到
全力支持。
Mdn location reference uses document.location in their examples. // location: https://developer.mozilla.org:8080/en-US/search?q=URL#search-results-close-container const loc = document.location; console.log(loc.href); // https://developer.mozilla.org:8080/en-US/search?q=URL#search-results-close-container console.log(loc.protocol); // https: console.log(loc.host); // developer.mozilla.org:8080 console.log(loc.hostname); // developer.mozilla.org console.log(loc.port); // 8080 console.log(loc.pathname); // /en-US/search console.log(loc.search); // ?q=URL console.log(loc.hash); // #search-results-close-container console.log(loc.origin); // https://developer.mozilla.org:8080 location.assign('http://another.site') // load another page
推荐文章
- 如何发送推送通知到web浏览器?
- AngularJS:工厂和服务?
- js:将一个组件包装成另一个组件
- 父ng-repeat从子ng-repeat的访问索引
- JSHint和jQuery: '$'没有定义
- 模仿JavaScript中的集合?
- 用JavaScript验证电话号码
- 如何在HTML5中改变视频的播放速度?
- 谷歌地图API v3:我可以setZoom后fitBounds?
- ES6/2015中的null安全属性访问(和条件赋值)
- 与push()相反;
- JS字符串“+”vs concat方法
- AngularJS使用ng-class切换类
- 访问Handlebars.js每次循环范围之外的变量
- 如何用JavaScript截屏一个div ?