Javascript 从iframe上下文运行document.referer不会在Safari 12中返回完整URL

Javascript 从iframe上下文运行document.referer不会在Safari 12中返回完整URL,javascript,Javascript,我以前没有见过这个,也找不到任何关于它的可靠信息,但是我正在页面和文档的iframe中运行一些代码。referer属性没有返回完整的URL 例如,在Chrome和其他浏览器中,我看到: http://www.test.com/thisurl …但是Safari只返回主机名,所以只返回: http://www.test.com/ 我不明白为什么从页面上的iframe中获取时不应该返回完整的URL……我在http和https协议中都看到了这一点(iframe与外部页面相同) 它应该始终等于窗口.pa

我以前没有见过这个,也找不到任何关于它的可靠信息,但是我正在页面和
文档的iframe中运行一些代码。referer
属性没有返回完整的URL

例如,在Chrome和其他浏览器中,我看到:
http://www.test.com/thisurl

…但是Safari只返回主机名,所以只返回:
http://www.test.com/

我不明白为什么从页面上的iframe中获取时不应该返回完整的URL……我在http和https协议中都看到了这一点(iframe与外部页面相同)


它应该始终等于
窗口.parent.location.href
不是吗?

这必须是新版本Safari中启用的WebKit新隐私策略。官方公告如下:在“无用户交互的域名的仅来源推荐人”部分。因此,响应中基本上只发送referer的源代码部分(
window.parent.location.origin

还要注意的是,您在其他浏览器中看到的referer不是父窗口的完整
location.href
。如果URL中有散列,如
http://www.test.com/thisurl#yourhashhere
,它将不会出现在推荐人中