document.referrer存在但始终为空

时间:2015-01-02 12:21:53

标签: javascript ios cordova

我正在开发iOS 8上的移动应用程序.document.referrer似乎总是空的。我试图通过使用:

来检查它是否存在
if( 'referrer' in document ) {
    alert('referrer ' + document.referrer);
}

它会抛出一个警告,但是值总是为空,无论我是从另一个页面访问它还是我第一次访问该页面。我还包含了元标记:

<meta name="referrer" content="always">

如何获取document.referrer的值?

编辑:我也忘了提一下,我不是在使用原生iOS应用程序。我正在使用cordova和HTML5以及JS。

1 个答案:

答案 0 :(得分:0)

由于我们对您的原生包装器一无所知,因此可能会发生一些事情:

  1. document.referrer派生自HTTP标头Referer(请注意历史拼写错误)。您的iOS代码中的某些内容可能正在设置或禁止该HTTP标头。

  2. 如果您的网络应用使用带有file架构的网址(如file:///foo.html)托管,则浏览器引擎不会设置HTTP Referer标头以防止敏感信息泄露。 (例如,如果您有一个链接到远程站点的本地网页,则不希望将本地文件名发送到远程Web服务器。)

  3. 如果您发现其中一个正在发生,您可以按照“Specifying HTTP referer in embedded UIWebView

    中的说明手动设置Referer标题