Skąd Chrome, Safari, Firefox lub inne przeglądarki wiedzą, że odwiedziłeś docelowy adres URL linku przekierowującego?
Zawsze uważałem za interesujące, że przeglądarki znają adres URL przekierowującego adresu URL i stosują odwiedzany styl do linku.
Aby zrozumieć, o co proszę:
- Wpisz losowe słowo kluczowe w Google.
- Znajdź niebieski link w wyniku wyszukiwania. Nie klikaj go.
- Skopiuj docelowy adres URL (zwykle napisany na zielono pod linkiem).
- Otwórz nowe okno / kartę i wklej docelowy adres URL w pasku adresu i naciśnij Enter.
- Wróć do wyników wyszukiwania Google i natychmiast link zostanie odwiedzony i zmieni kolor na fioletowy.
Jednak link prowadzi do google.com/url...
strony. Czy jest coś, co Google umieszcza w swoich znacznikach, aby poinformować przeglądarkę, z jakim adresem URL powiązać historię linku czy coś takiego? Czy przeglądarki tylko odczytują wyniki wyszukiwania Google w określony sposób?
google-chrome
browser
safari
history
google-search
henryaaron
źródło
źródło
Odpowiedzi:
Jeśli zwrócisz uwagę na pasek stanu podczas najechania kursorem na link, zobaczysz, że początkowo wskazuje on „czysty” adres URL.
Tylko po kliknięciu linku (jednym z trzech przycisków myszy) uruchamiane jest zdarzenie JavaScript, które zmienia miejsce docelowe linku na przekierowanie adresu URL Google.
Aby zweryfikować moje roszczenie, kliknij prawym przyciskiem myszy dowolny fioletowy link i zamknij menu kontekstowe. O ile nie odwiedziłeś już witryny z wyników wyszukiwania Google, zobaczysz, że zmienia ona kolory. 1
Nie wiem dokładnie, jak Google wstrzykuje adres URL przekierowania 2 , ale ogólny pomysł jest następujący:
Możesz wypróbować ten jsFiddle, aby zobaczyć, jak to działa.
1 Testowane na Chromium 25 (Ubuntu 12.10) i Chrome 26 (Windows 7)
2 Zminimalizowany JavaScript jest nieco trudny do odczytania.
źródło