2011-02-23 118 views

回答

14

document.referrer属性在DOM规范中描述:

http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-95229140

所以应该支持跨浏览器。但是,如果执行不支持此属性像

if('referrer' in document) { 
    console.log(document.referrer); 
} 
+0

只是一边,在使用console.log测试浏览器支持时要小心,因为本身并不是所有浏览器都支持。 – user227353 2014-03-26 20:52:39

-3

是的。它受到主流浏览器的支持。见:http://www.w3schools.com/jsref/prop_doc_referrer.asp

+26

即使这是真的,我不会依赖网站'w3schools.com'上的任何内容。 – jAndy 2011-02-23 22:12:05

+1

这里有一个稍微更可信的来源,证实同样的事情,所以我想也许w3schools.com是正确的。 http://code.google.com/p/doctype/wiki/DocumentReferrerProperty – buley 2011-02-23 22:18:53

+6

请参阅http://w3fools.com :-) – Pointy 2011-02-23 22:29:40

2

你不能依靠它来确定是否请求从浏览器(许多非浏览器的机器人还发送一个)来,你可以很容易地检测。虽然它受到浏览器的支持,但它们也是隐私程序,专门不提供它。有时候这是通过代理服务器完成的...... http://en.wikipedia.org/wiki/HTTP_referrer ...并且如果通过HTTP安全(HTTPS)连接访问网站,并且链接指向非安全连接,则不会发送引荐来源字段。

所以答案是肯定的,但有例外。

+0

我想你是引用服务器端'$ _SERVER ['HTTP_REFERRER']'标题值而不是javascript'document.referrer' – adambullmer 2016-04-29 17:13:22