我正在 iOS 8 上开发一个移动应用程序。 document.referrer 似乎总是空的。我尝试使用以下方法检查它是否存在:
if( 'referrer' in document ) {
alert('referrer ' + document.referrer);
}
它会引发警报,但该值始终为空,无论我是从另一个页面访问它还是第一次访问该页面。我还添加了元标记:
<meta name="referrer" content="always">
如何获取 document.referrer 的值?
编辑:我还忘了提及,我不是在开发原生 iOS 应用程序。我正在使用 cordova 和 HTML5 和 JS。
由于我们对您的本机包装器一无所知,因此可能发生了以下几种情况:
document.referrer
源自 HTTP 标头Referer
(注意历史拼写错误)。您的 iOS 代码中的某些内容可能正在设置或抑制该 HTTP 标头。
如果您的 Web 应用程序是使用 URL 托管的file
架构(如file:///foo.html
),浏览器引擎不会设置HTTPReferer
标头以防止敏感信息泄露。 (例如,如果您有一个链接到远程站点的本地网页,您就不会希望将本地文件名发送到远程网络服务器。)
如果您发现发生其中一种情况,您可以手动设置Referer
标头如“在嵌入的 UIWebView 中指定 HTTP 引用 https://stackoverflow.com/questions/7913305/specifying-http-referer-in-embedded-uiwebview"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)