2011-02-23 154 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