21

我有以下代码:

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

如果上一页 url 属于任何外部站点,即不是我的应用程序,这将不起作用。

例如:

如果我在第 1 页并转到我的应用程序的第 2 页,那么我将在第 2 页加载的引荐来源中获得第 1 页 url,但是当我转到外部站点时说 www.google.com 然后当我回到第 1 页时我不会将 www.google.com 作为引荐来源网址。

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

4

1 回答 1

50

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

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

于 2013-10-18T17:22:11.167 回答