document.referrer丢失的几个原因

修改window.location对象进行页面导航

window.location对象是一个用于页面导航的非常实用的对象。因为他允许你只变更url的其中一部分。

例如从cn域名切换到com域名,其他部分不变:

window.location.hostname = "example.com";

ie丢失referrer,其他浏览器均正常返回document.referrer

window.open方式打开新窗口

<a href="#" onclick="window.open('http://www.google.com')">访问Google</a>

ie丢失referrer,其他浏览器均正常返回document.referrer

鼠标拖拽打开新窗口

通过这种方式打开的页面,全都丢失referrer。

https跳转到http

从https的网站跳转到http的网站时,浏览器是不会发送referrer的。

References

  1. Document.Referrer丢失的几个原因