referrer 属性返回载入当前文档的来源文档的URL。
如果当前文档不是通过超级链接访问的,则为 null。这个属性允许客户端 JavaScript 访问 HTTP 引用头部。
可以获取前一页面的URL地址
document.referrer 的兼容性
document.referrer IE7都支持,它的兼容性比较高,Android 5.0开始支持,iOS都支持,PC端浏览器从IE7就开始支持了,兼容性没有什么大的问题。
无法获取 referrer 信息的情况
下面的场景无法获得 referrer 信息:
- 直接在浏览器中输入地址
- 使用
location.reload()
刷新(location.href
或者location.replace()
刷新有信息) - 在微信对话框中,点击进入微信自身浏览器
- 扫码进入微信或QQ的浏览器
- 直接新窗口打开一个页面
- 从https的网站直接进入一个http协议的网站(Chrome下亲测)
-
a
标签设置rel="noreferrer"
(兼容IE7+) -
meta
标签来控制不让浏览器发送referer
- 点击 flash 内部链接
- Chrome4.0以下,IE 5.5+以下返回空的字符串
- 使用 修改 Location 进行页面导航的方法,会导致在IE下丢失 referrer,这可能是IE的一个BUG
- 跨域
-
<meta content="never" name="referrer">