Czy mogę poinstruować przeglądarkę, aby nie szukała favikonu?

19

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.
Peter Boughton
źródło
Widziałeś to pytanie na SO?
j0k
Nie, dziękuję za link. Przechodząc od komentarza Maxa „użyj pustego pliku”, zastanawiam się, czy <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.
Peter Boughton,
Właśnie wypróbowałem na IE8 i wyświetla domyślny favicon
j0k
Hmm, ukryte w nieoczywistym łączu w odpowiedzi na to pytanie to powiązane pytanie na SO z dużą ilością odpowiedzi / komentarzy - nie wydaje się być niczym nowym / przydatnym, ale na wypadek, gdyby coś przeoczyłem, oto link w każdym razie .
Peter Boughton,
3
[Warto tu zauważyć, że witryny, które generalnie są bardzo zaniepokojone wydajnością, rozmiarem strony, żądaniami itp., I prawdopodobnie z lepszego powodu, np. Google, Yahoo, w przeważającej części, po prostu stwórz ikonę i przejdź do ważniejszych problemów.]
Su

Odpowiedzi:

9

Po prostu poszedłem i przetestowałem kilka losowych przeglądarek, które zainstalowałem, Wireshark i prostą stronę internetową zawierającą tag

<link rel="shortcut icon" href="about:blank">

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.icoprzy ładowaniu pierwszej strony. Jednak gdy strona zostanie odwiedzona po raz drugi , /favicon.icozostanie 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.icoale 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:blankod serwera.

  • Internet Explorer 8.0 w systemie Windows XP: niespójny (?). Na początku wydawało się, że działa, ale /favicon.icow 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ą.

Ilmari Karonen
źródło