Javascript document.referer存在,但始终为空

Javascript document.referer存在,但始终为空,javascript,ios,cordova,Javascript,Ios,Cordova,我正在iOS 8上开发一个移动应用程序。document.referer似乎总是空的。我已尝试使用以下方法检查它是否存在: if( 'referrer' in document ) { alert('referrer ' + document.referrer); } 它会抛出一个警报,但无论我是从另一个页面访问它还是第一次访问该页面,该值始终为空。我还包括meta标签: <meta name="referrer" content="always"> 如何获取docu

我正在iOS 8上开发一个移动应用程序。document.referer似乎总是空的。我已尝试使用以下方法检查它是否存在:

if( 'referrer' in document ) {
    alert('referrer ' + document.referrer);
}
它会抛出一个警报,但无论我是从另一个页面访问它还是第一次访问该页面,该值始终为空。我还包括meta标签:

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

如何获取document.referer的值


编辑:我还忘了提到,我不是在使用原生iOS应用程序。我正在使用cordova、HTML5和JS。

因为我们对您的原生包装器一无所知,所以可能会发生以下几件事:

  • document.Referer
    来自HTTP头
    Referer
    (注意历史拼写错误)。您的iOS代码中可能存在设置或禁止HTTP头的情况

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


  • 如果您发现其中一种情况正在发生,您可以手动设置
    Referer
    标题,如“

    如何访问您的页面?”?如果您直接访问页面,即不通过链接访问,则推荐人总是空的。我已经读了足够多的资料,知道当您第一次直接访问链接时,推荐人将是空的。任何其他时间,重定向都会通过一个位置进行。href=“something.html”。当我在something.html中时,document.referer仍然为空。您好,谢谢您的回答。我不使用本机iOS,所以我认为您提到的链接不起作用?那么您需要提供有关您的应用程序的更多详细信息--您是如何托管/服务/启动它的?那它怎么会成为“iOS”网络应用呢?你到底是如何导航到一个你正在寻找推荐人的页面的?很抱歉。我正在使用cordova、HTML5和JS。我正在使用location.href=“page path”导航到该页面。这些信息有用吗?您还没有回答页面是如何托管的。你的web应用程序访问网页的准确程度如何?它们是从服务器托管的吗?与您的应用程序捆绑?如果是后者,您将不会得到如上所述的
    Referer
    标题。实际上,我不确定。我不认为服务器是用来托管页面的——页面是与应用程序捆绑在一起的。在这种情况下,不会设置推荐人标题?奇怪的是,我们直到iOS 7.1才出现这个问题,而iOS 8才出现这个问题。我不知道如何使用您提供的链接,因为我没有本地iOS开发经验。非常感谢你的耐心。