从外部网址导航时,Document.referrer为空?

时间:2013-10-18 17:17:47

标签: http dom

我有以下代码:

var previousPageUrl= document.referrer;
alert(previousPageUrl);`

如果上一页网址是任何外部网站,即不属于我的应用程序,则无效。

例如:

如果我在第1页并且访问了我的应用程序的第2页,那么我将在引用中加载第1页网址,但是当我回到外部网站时再说www.google.com第1页我不会将www.google.com作为推荐人网址。

有人可以告诉你解决这个问题。

1 个答案:

答案 0 :(得分:29)

通常,当由于链接点击或基于JavaScript的导航而导航时,Referer URL 在不相关的网站之间传递。如果用户使用浏览器的镶边(例如地址栏,后退/前进按钮等)进行导航,则不会发送引用网址。

出于安全/隐私原因,从HTTPS站点导航到HTTP站点(例如从https://google.comhttp://example.com)时,Referer URL会被删除。它也可以通过各种JavaScript和HTML技巧故意删除。如果已剥离,则无法禁用此行为以获取Referer URL。