我无法使用document.referrer获取大量引荐网址。我不确定发生了什么。如果有人有任何关于其局限性的信息(比如哪个浏览器不支持什么)等,我将不胜感激。
是否还有其他我可以使用的东西(或许是另一种语言),涵盖更多的浏览器等?
答案 0 :(得分:1)
我不会在您的Javascript代码中对document.referrer
抱有任何信任。该值在客户端请求标头(Referer
)中发送,因此可以进行欺骗和操作。
有关更多信息,请参阅我对这个服务器端HTTP_REFERER
服务器变量的问题的回答:
答案 1 :(得分:1)
您正在寻找哪种浏览器?如果引荐网站通过window.open('some link')
而非常规<a>
标记发送流量,则IE将不会看到引荐来源。它认为这是一个新请求,类似于你直接转到URL(在这种情况下没有引用者)。 Firefox和Chrome没有相同的问题。
这不仅仅是一个javascript限制,HTTP_REFERRER
在这种特定情况下也无效。
答案 2 :(得分:0)
为了确保您在同一页面上,您确实知道如果有人直接在其Web浏览器中键入URL,则document.referrer属性为空,对吧?话虽这么说,你可能会对JavScript method to get all HTTP headers感兴趣。如果您更喜欢PHP(因为您正在使用该标记),standard $_SERVER variable将提供可用的信息。请注意,该信息仅与报告Web浏览器和服务器一样可靠,如Kev所述。
答案 3 :(得分:0)
在以下情况下,document.referrer
将为空字符串:
rel="noreferrer"
; 签出https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer