document.referrer 移动端返回上一页是刚需好吗?好的

日常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是刚需好吗?好的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、概述 document节点是整个文档树的顶层节点,每张网页都有自己的document节点。window.doc...
    周花花啊阅读 1,354评论 0 1
  • 前言在JavaScript中,document对象有很多属性,其中有3个与对网页的请求有关的属性,它们分别是URL...
    fangdown阅读 43,938评论 1 14
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,798评论 0 8
  • 第1章 认识JS JavaScript能做什么?1.增强页面动态效果(如:下拉菜单、图片轮播、信息滚动等)2.实现...
    mo默22阅读 1,324评论 0 5
  • 又是一本要看多次的书。 很少看文学作品,一直以来认为非虚构类作品能够得到更多心智上的收获。 但是,经过梁文道、陈晓...
    李小四的未来阅读 648评论 0 2