location.href 是指网页跳转,有以下几个用法:
window.location.href="/url"当前页面打开URL页面 以下三个方法一样
self.location.href="/url" 当前页面打开URL页面
location.href="/url" 当前页面打开URL页面
parent.location.href="/url" 在父页面打开新页面
top.location.href="/url" 在顶层页面打开新页面
此外,window.location.href=window.location.href;和window.location.Reload()都是刷新当前页面。区别在于是否有提交数据。当有提交数据时,window.location.Reload()会提示是否提交,window.location.href=window.location.href;则是向指定的url提交数据。
举个例子:
如果a页面是b页面的父页面,b是c页面的父页面,c是d页面的父页面
在d页面中写,location.href=''d页面跳转
parent.location.href = '' c页面跳转
top.location.href = '' a页面跳转
如果d页面中存在表单
target='': form提交后D页面跳转
target='_blank': form提交后弹出新页面
target='_parent': form提交后C页面跳转
target='_top': form提交后A页面跳
下面再来说location.replace
location.replace 是替换当前页面,如果a页面 跳转到 b页面 b页面 写location.replace(c) 当点击返回按钮时,就会回到a页面,换句话说,location.replace 是清除了本页面的访问记录,直接回到上一个页面
如果是 b页面href到c页面的话,按c页面的回退按钮,会回到b页面