referrer 属性返回载入当前文档的来源文档的URL。

如果当前文档不是通过超级链接访问的,则为 null。这个属性允许客户端 JavaScript 访问 HTTP 引用头部。

可以获取前一页面的URL地址

document.referrer 的兼容性

document.referrer IE7都支持,它的兼容性比较高,Android 5.0开始支持,iOS都支持,PC端浏览器从IE7就开始支持了,兼容性没有什么大的问题。

 

无法获取 referrer 信息的情况

 

下面的场景无法获得 referrer 信息:

 

  1. 直接在浏览器中输入地址
  2. 使用​​location.reload()​​​刷新(​​location.href​​​或者​​location.replace()​​刷新有信息)
  3. 在微信对话框中,点击进入微信自身浏览器
  4. 扫码进入微信或QQ的浏览器
  5. 直接新窗口打开一个页面
  6. 从https的网站直接进入一个http协议的网站(Chrome下亲测)
  7. ​a​​​标签设置​​rel="noreferrer"​​(兼容IE7+)
  8. ​meta​​​标签来控制不让浏览器发送​​referer​
  9. 点击 flash 内部链接
  10. Chrome4.0以下,IE 5.5+以下返回空的字符串
  11. 使用 修改 Location 进行页面导航的方法,会导致在IE下丢失 referrer,这可能是IE的一个BUG
  12. 跨域
<meta content="never"="referrer">