Mam stronę internetową, która nie ma / nie potrzebuje favicon.
Czy istnieje sposób, aby poinstruować przeglądarkę, aby nie marnowała żądania w poszukiwaniu pliku /favicon.ico?
Nie mam na myśli filtrowania dzienników, ale coś po stronie klienta, na przykład:
<link rel="shortcut icon" href="about:blank" />
Wydaje się, że to działa, ale nie jestem w stanie przeprowadzić kompleksowych testów (a wyszukiwarki są nieprzydatne).
Czy ktoś może potwierdzić, że jest to poprawna metoda, lub podać odpowiednią alternatywę?
Aktualizacja: po dalszym badaniu to nie działa (przynajmniej nie w przypadku Chromium 18 w domenie nielokalnej). Częściowym rozwiązaniem jest użycie data:
adresu URL do wyświetlenia pustego obrazu base64 ( przykład z tego miejsca ):
<link href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABmJLR0T///////8JWPfcAAAACXBIWXMAAABIAAAASABGyWs+AAAAF0lEQVRIx2NgGAWjYBSMglEwCkbBSAcACBAAAeaR9cIAAAAASUVORK5CYII=" rel="icon" type="image/x-icon" />
Działa to, ale ma dwie wady:
- Prawdopodobnie zawiedzie w przeglądarkach, które nie obsługują adresów URL danych.
- Nie powoduje to w ogóle favicon - tzn. Ukrywa domyślną ikonę przeglądarki.
<link href="data:image/x-icon;" rel="shortcut icon" />
jest to poprawne rozwiązanie - wydaje się, że może działać (pokazuje domyślną przeglądarkę), ale muszę przetestować, jak IE7 / inni reagują na to.Odpowiedzi:
Po prostu poszedłem i przetestowałem kilka losowych przeglądarek, które zainstalowałem, Wireshark i prostą stronę internetową zawierającą tag
Oto dotychczasowe wyniki:
Chromium 18.0 w systemie Ubuntu Linux: działa. Brak żądań
/favicon.ico
, brak ulubionych.Google Chrome 21.0 w systemie Windows XP: działa.
Firefox 15.0.1 w systemie Ubuntu Linux: Niespójne zachowanie. Najwyraźniej Firefox nie wyświetla ulubionych i nie wysyła żądania HTTP
/favicon.ico
przy ładowaniu pierwszej strony. Jednak gdy strona zostanie odwiedzona po raz drugi ,/favicon.ico
zostanie załadowana i wyświetlona.Firefox 15.0 w systemie Windows XP: Niespójne zachowanie, jak wyżej.
Opera 10.10 w systemie Ubuntu Linux: nie działa. Żąda,
/favicon.ico
ale go nie pokazuje.Konqueror 4.8.4 w systemie Ubuntu Linux: działa.
rekonq 0.9.1 na Ubuntu Linux: Broken. Próbuje zażądać
/about:blank
od serwera.Internet Explorer 8.0 w systemie Windows XP: niespójny (?). Na początku wydawało się, że działa, ale
/favicon.ico
w pewnym momencie został o to poproszony, najprawdopodobniej po odwiedzeniu innej strony i użyciu przycisku Wstecz. Testowanie było nieco skomplikowane z tego powodu, że z jakiegoś powodu IE odmawia faktycznie wyrenderowania moich ulubionych testów. Potrzebuje więcej testów.Inne notatki:
Przeglądarki mają tendencję do agresywnego buforowania ulubionych. Wydaje się, że normalne metody czyszczenia pamięci podręcznej przeglądarki nie zawsze działają; Musiałem uruchomić przeglądarki z nowymi profilami w piaskownicy, aby uzyskać konsekwentnie powtarzalne wyniki. W szczególności, co najmniej recq wróci do wyświetlania (nie domyślnego) favikonu z innej strony w tej samej witrynie, jeśli ma jedną pamięć podręczną.
źródło