如何使用 javascript 重定向到(或转到)其他页面
案例:
// 方式一:
window.location.href = "url";
// 方式二:
window.location.replace("url");
// 方式三:
window.location.assign("url");
使用区别:
方式一:相当于点击链接跳转到新页面,会在页面跳转历史(session History)中保存记录,你可以点击浏览器返回按钮回到上一页。
方式二:相当于 HTTP 重定向,不会在页面跳转历史(session History)中保存记录(甚至不会在浏览器的历史记录中留存),点击浏览器返回按钮将返回的是上上一页(如果上上一页存在),而不是上一页。
方式三:相当于方式一的函数式写法。理论上方式一的执行速度更快(毕竟访问属性要比执行函数速度更快)。
结论:
1、如果你只是想模仿用户点击链接 则使用 location.href
。
2、如果你只是需要对一个页面以进行重定向,则使用 location.replace()
,但在服务器端进行重定向应该更合适。
3、在一些单元测试中,使用函数式 location.assign()
可能更适合,因为它能让用户在测试过程中模拟函数并检测参数。
其他方式:
1、window.navigate()
目前只有 IE 浏览器支持使用,火狐与谷歌浏览器不支持。 应使用标准规范写法 location.href
代替。
2、window.location = "url"
同样能达到 location.href
的效果。 可能由于历史遗留依然支持这种写法,建议使用标准规范写法 location.href
代替。
参考资料 Reference :
[https://developer.mozilla.org/zh-CN/docs/Web/API/Location/replace] [https://developer.mozilla.org/zh-CN/docs/Web/API/Location/assign]版权声明:[自由转载-注明出处-非商用-非衍生] (知识共享许可协议)