Http 从外部url导航时Document.referer是否为空?

Http 从外部url导航时Document.referer是否为空?,http,dom,Http,Dom,我有以下代码: var previousPageUrl= document.referrer; alert(previousPageUrl); 如果上一页url是任何外部站点的url,即不是我的应用程序的url,则此操作将不起作用 例如: 如果我在第1页并进入我的应用程序的第2页,那么我将在第2页加载中获得第1页的url,但当我进入外部网站www.google.com时,当我返回第1页时,我将不会获得www.google.com作为参考url 有人能告诉我如何解决这个问题吗。通常,当由于链接单

我有以下代码:

var previousPageUrl= document.referrer;
alert(previousPageUrl);
如果上一页url是任何外部站点的url,即不是我的应用程序的url,则此操作将不起作用

例如:

如果我在第1页并进入我的应用程序的第2页,那么我将在第2页加载中获得第1页的url,但当我进入外部网站www.google.com时,当我返回第1页时,我将不会获得www.google.com作为参考url

有人能告诉我如何解决这个问题吗。

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


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

如果是这种情况,当我通过按浏览器的“后退”按钮从外部网站进入应用程序时,我将如何在不知道我是否来自外部网站的情况下将用户发送到主页。按“后退”按钮将永远不会发送引用人,由于您来自的网站没有以任何方式“引用”用户。那么,当我们在应用程序中按下浏览器后退按钮时,document.referer如何获取上一页url?当按下后退按钮时,它不会。