2011-12-11 23 views
19

假設我有一個網頁位於http://www.website.com,其中。就像這樣:什麼是HTTP Referer如果在<iframe>中點擊鏈接?

<html> 
<head>...</head> 
<body> 
    ... 
    <iframe src="http://www.washington.edu"> 
    ... 
</body> 
</html> 

現在假設有人去www.website.com並單擊在iframe本身(此鏈接位於www.washington.edu網站)的鏈接。

我的問題是在這種情況下HTTP Referer是什麼?

http://www.website.com(託管iframe的頁面)還是它http://www.washington.edu(鏈接被點擊的頁面)?

+0

http://stackoverflow.com/questions/2324202/javascript-iframe-link-referrer的副本。但有趣的是,IE6將始終將iframe的父頁面報告爲引用者。 – dash

+1

不再支持IE6。 – bodacydo

+0

嘗試在英國的大型公共部門組織或一些主要藍籌股工作:-( – dash

回答

11

這取決於瀏覽器。

Firefox和Safari將報告引用者爲http://www.website.com,而某些版本的Internet Explorer將顯示http://www.washington.edu作爲引用者。

UPDATE 2015-04:測試的上述最新版本所提到的,所有的人都將返回http://www.washington.edu

+0

先生,我認爲你的意思是相反的,我確定,我仍然接受你的答案,謝謝 – bodacydo

+0

你是對的,bodacydo 。我糾正了答案 –

+0

@GregDubicki我不確定這應該是第三方編輯,因爲它實際上完全顛倒了OP的答案,我認爲最好留下來作爲評論。拒絕你的編輯建議,如果你不同意,可以在Meta SO上自由地提問。 – TylerH

6

當前瀏覽器

隨着2015年8月所有的主流瀏覽器(Safari瀏覽器,Chrome瀏覽器,火狐)的在這種情況下,請將Referer HTTP標頭設置爲http://www.washington.edu


我鼓勵你測試版本在特定情況下的特定瀏覽器的行爲,如果你的應用程序依賴於Referer價值嚴重。

我寫這個是因爲例如我發現Safari 8目前對iframe中加載的JavaScript發出的請求不正確Referer,可能如果此JavaScript先前被請求過不同的Referer。這是一個很類似於this particular one這是在Chromium僅在2014年(我已經報告給蘋果,順便說一句。)

舊的瀏覽器

歷史Internet Explorer 6 showed different behaviour than described above關閉的錯誤 - 這將設置Referer HTTP標頭http://www.website.com