2011-12-11 4 views
19

Załóżmy, że mam stronę internetową pod adresem http://www.website.com z numerem . Tak:Co to jest odsyłacz HTTP, jeśli kliknięcie łącza w <iframe>?

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

Teraz załóżmy ktoś idzie do www.website.com i kliknie łącze w samego iframe (link znajduje się na stronie internetowej www.washington.edu).

Moje pytanie brzmi: czym jest Referer HTTP w tym przypadku?

Czy jest to http://www.website.com (strona hostująca element iframe), czy jest to http://www.washington.edu (strona, na której kliknięto łącze)?

+0

Duplikat http://stackoverflow.com/questions/2324202/javascript-iframe-link-referrer. Co ciekawe, IE6 zawsze będzie raportował stronę nadrzędną elementu iframe jako stronę odsyłającą. – dash

+1

Dobrze, że IE6 nie jest już obsługiwany. – bodacydo

+0

Spróbuj pracować dla dużej organizacji sektora publicznego lub niektórych dużych niebieskich chipów w Wielkiej Brytanii :-( – dash

Odpowiedz

11

To zależy od przeglądarki.

Firefox i Safari zgłaszają stronę odsyłającą pod numerem http://www.website.com, podczas gdy niektóre wersje programu Internet Explorer będą wyświetlać http://www.washington.edu jako stronę odsyłającą.

UPDATE 2015-04: Testowanie najnowsze wersje wyżej wspomniano, wszystkie z nich wróci http://www.washington.edu

+0

Proszę pana, myślę, że masz na myśli odwrotnie .. Jestem pewien, że i tak przyjąłem twoją odpowiedź – bodacydo

+0

Masz rację, bodacydo Poprawiłem odpowiedź: –

+0

@GregDubicki Nie jestem pewien, czy powinna to być edycja strony trzeciej, ponieważ w rzeczywistości całkowicie odwraca to, co mówi odpowiedź PO. Myślę, że lepiej pozostać jako komentarz. odrzucił Twoją propozycję edycji. Jeśli się nie zgadzasz, możesz o nią zapytać w Meta SO! – TylerH

6

Aktualne przeglądarek

W sierpniu 2015 roku wszystkie główne przeglądarek (Safari, Chrome, Firefox) powinien w tym przypadku ustaw nagłówek HTTP Referer na http://www.washington.edu.


Ale Zachęcam do przetestowania jak poszczególne wersje przeglądarek zachowywać się w konkretnych przypadkach, jeśli aplikacja zależy Referer wartości ciężko.

Piszę to, ponieważ na przykład odkryłem, że Safari 8 obecnie wysyła żądania z nieprawidłowym Referer dla JavaScript załadowanego w iframe, prawdopodobnie jeśli wcześniej zażądano tego JavaScript z innym Referer. Jest to błąd, który jest podobny do this particular one, który został zamknięty w Chromium tylko w 2014 roku (już zgłosiłem to do Apple, btw.)

starych przeglądarek

Historycznie Internet Explorer 6 showed different behaviour than described above - byłoby ustawić nagłówek Referer HTTP http://www.website.com.