【问题标题】:Document.referrer empty when navigating from external url?从外部 url 导航时 Document.referrer 为空?
【发布时间】:2013-10-18 17:17:47
【问题描述】:

我有以下代码:

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

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

例如:

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

谁能告诉我解决这个问题。

【问题讨论】:

    标签: http dom


    【解决方案1】:

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

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

    【讨论】:

    • 那么在这种情况下,当我通过按浏览器的后退按钮从外部站点进入我的应用程序时,我将如何在不知道我是否来自外部站点的情况下将用户发送到主页。
    • 按返回按钮永远不会发送推荐人,因为您来自的网站没有以任何方式“推荐”用户。
    • 那么当我们在应用程序中按下浏览器返回按钮时,document.referrer是如何获取上一页url的呢?
    • 按下后退按钮时不会。
    猜你喜欢
    • 2011-03-18
    • 2013-07-16
    • 1970-01-01
    • 2016-12-14
    • 2012-01-26
    • 1970-01-01
    • 2017-10-10
    • 2021-03-09
    • 2017-11-19
    相关资源
    最近更新 更多