我应该在JavaScript中使用window.navigate还是document.location?


177

使用JavaScript更改当前网页位置的首选方法是什么?我已经看到使用window.navigate和document.location了。行为上有区别吗?浏览器的实现是否有所不同?

Answers:


219
window.location.href = 'URL';

是用于更改当前窗口位置的标准实现。


22
您是否有参考资料表明window.location.href是标准实现?该标准是否同样适用于所有浏览器?您当然看起来很有学问,而且15票以上的投票(加上可接受的答案)有助于使其更具权威性,尽管我认为最好是从浏览器开发团队那里获取文档来支持该主张。
Goyuix 2010年

6
@Goyuix,说这window.location.href是完整的实现可能更准确,但 window.location可以完成相同的事情。请参阅docs.sun.com/source/816-6408-10/location.htm:“如果将字符串分配给location对象的属性,JavaScript将创建一个location对象,并将该字符串分配给其href属性。”
詹姆斯·斯基德莫尔

3
看起来这些人决定了个人喜好:developer.mozilla.org/Talk :en/DOM/window.location 。或查看底部附近的示例,它们仅使用window.location但不一定指示任何一种方式:developer.mozilla.org/en/window.location
James Skidmore 2010年

1
我目前正在将此用于android开发。我在Android的默认浏览器中无法从JS重定向页面。我尝试过,window.location.href = 'URL';并且还window.location.assign('URL');设计了用于重新加载新页面的方法。可以找到更多信息w3schools.com/jsref/obj_location.asp
philipp

3
window.navigate是Internet Explorer使用的专有方法(请注意,其他浏览器是否会模仿它以实现兼容性,Chrome则不会)。document.location或是window.location标准对象(请参见各种HTML / HTML5 / DOM规范)。document.location = someURL(或window.location = someURL)可能由于旧版代码而受支持。正确的方法document.location.href = someURL也许就是document.location.assign(someURL)
PhistucK 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.