日常PC端开发,返回上一页大家尝会使用 history.go(-1)
或者 history.back()
, 就可以解决问题。
下面是日常返回上一页的方法:
history.go(-1) 后退
history.reload() 刷新
history.back() 后退+刷新
原生js有一个方法可以获取前一页面的URL地址 document.referrer
, MDN上解释说:document.referrer 可以获取返回跳转或打开到当前页面的那个页面。如果用户直接打开了这个页面(不是通过页面跳转,而是通过地址栏或者书签等打开的),则该属性为空字符串。由于该属性只是返回一个字符串,所以不能够通过该属性引用页面的 DOM。
通过以下代码就可以解决移动端返回上一页的问题了
window.location.href = document.referrer
referrer当然也有获取不到的时候,这个时候就尴尬了。有哪些情况呢?
1.直接在浏览器中输入地址
2.用location.reload()、location.href()、location.replace()等刷新页面
3.扫码进入微信或QQ浏览器
4.直接新窗口打开一个页面
5.meta标签来控制不让浏览器发送referer <meta content="never" name="referrer">
这些特殊情况就当特殊处理了,可以让它返回首页再进入子页处理。或者指定要返回的具体链接。总之能达到目的就可以。
移动端返回上一页的,学习document.referrer是刚需好吗?好的