Mam aplikację Grails uruchomioną lokalnie za pomocą własnego tomcata i właśnie zmieniłem favicon na nowy. Problem polega na tym, że nie widzę go w żadnej przeglądarce. Pojawia się stary favicon lub w ogóle go nie otrzymuję, ale nie mój nowy. Nie sądzę, że jest to kwestia Grails per se, bardziej problem z favicons.
Co ma się stać z ulubionymi? Jak mają działać? W przeglądarce mam wiele zakładek, które mają niewłaściwe ikony i nigdy nie wydają się odświeżane. Jak zmusić serwer / przeglądarkę do zaprzestania buforowania? Głupotą wydaje się zawsze buforowanie ich, ponieważ zwykle mają tylko 16 x 16. Dlaczego nie przesłać ich przy każdej wizycie na stronie? To nie jest dokładnie ogromny koszt.
favicon.ico
plik w katalogu głównym dokumentu.Odpowiedzi:
Aby odświeżyć stronę ulubionych, możesz zmusić przeglądarki do pobrania nowej wersji za pomocą tagu link i zapytania w nazwie pliku. Jest to szczególnie przydatne w środowiskach produkcyjnych, aby upewnić się, że użytkownicy otrzymają aktualizację.
źródło
type="image/x-icon"
ze swojego kodu, w przeciwieństwie do wielu źródeł. Wv?=2
części zapytania użyłem znacznika czasu zmodyfikowanego przez plik .Ok, po 10 minutach próbowania, łatwy sposób, aby to naprawić, jest zbliżony do linii ptaków
źródło
Ta odpowiedź nie została jeszcze podana, więc pomyślałem, że ją opublikuję. Rozejrzałem się po Internecie i nie znalazłem dobrej odpowiedzi na przetestowanie ulubionych w lokalnym rozwoju.
W bieżącej wersji Chrome (na OSX), jeśli wykonasz następujące czynności, otrzymasz natychmiastowe odświeżenie ulubionych:
To najłatwiejszy sposób na lokalne odświeżenie favicon.
źródło
CMD
+Shift
+R
Zmień nazwę pliku favicon i dodaj nagłówek HTML z nową nazwą, na przykład:
źródło
Jeśli używasz PHP, możesz również użyć skrótu MD5 z favicon jako ciągu zapytania:
W ten sposób Favicon zawsze będzie odświeżany po zmianie.
Jak wskazano w komentarzach, można również użyć daty ostatniej modyfikacji zamiast MD5-Hash, aby osiągnąć to samo i zaoszczędzić trochę na wydajności serwera:
źródło
Niszcząc plik używany przez przeglądarkę do przechowywania starych ulubionych, możesz wymusić załadowanie nowych.
chrome.exe
lubfirefox.exe
).Favicons
iFavicons-journal
favicons.sqlite
To prawie na pewno zadziała. Jeśli nie:
źródło
%appData%/../Local/Google/Chrome/User Data/Default
~/.config/google-chrome/Default
W Chrome na Mac OS X można usunąć plik za pomocą pamięci podręcznej favicon
źródło
${user.home}/Library/Application Support/Google/Chrome/Profile 1/Favicons
cmd+q
Chrome, przejściu do paska menu, zmuszeniu do ponownego wyjścia z Chrome i odczekaniu 2 minut, aby otworzyć przeglądarkę i wrócić do mojej witryny.Cóż, koszty ogólne są kosztami ogólnymi, ale tak, nie są zbyt duże.
Ponadto przeglądarki są czasami „zachłanne”, jeśli chodzi o pliki w pamięci podręcznej. Możesz wyczyścić pamięć podręczną i / lub ponownie uruchomić przeglądarkę i może zobaczyć zmianę. Jeśli to się nie powiedzie ...
Moje tanie rozwiązanie to:
Jeśli ta sekwencja nie działa, dzieje się coś innego.
źródło
W zależności od przeglądarki są obsługiwane inaczej, ale zazwyczaj przechodzę do domyślnej strony witryny i przeprowadzam intensywne odświeżanie. CTRL+ F5, zazwyczaj wymaga aktualizacji.
źródło
NA MAC: ⌘+ Shift- Rlub przytrzymaj Ctrli kliknij przycisk przeładowania w przeglądarce.
źródło
W przypadku przeglądarki Internet Explorer istnieje inne rozwiązanie:
źródło
Bardziej niż prawdopodobnie problem z przeglądarką internetową. Będziesz musiał usunąć pamięć podręczną z przeglądarki, zamknąć przeglądarkę i ponownie ją otworzyć. To powinno to naprawić.
Nie wierzę, że twoje ulubione zostaną odświeżone na twoich ulubionych, dopóki nie wrócisz na tę stronę i zakładając, że wcześniej wyczyściłeś pamięć podręczną przeglądarki.
Twoja przeglądarka nie będzie sama wychodzić do Internetu, aby samodzielnie szukać nowego favikonu ... na szczęście.
źródło
Spróbuj otworzyć w nowej karcie
Próbowałem wielu powyższych rzeczy (resetowanie pamięci podręcznej, odświeżanie, używanie tagu łącza itp.), Nawet sprawdziłem
.htaccess
plik i zresetowałem zmienną ExpiresByType.Ale to w końcu działało dla mnie zarówno w Chrome (25.0.x), jak i Safari (6.0.1):
<link>
znacznikiemmysite.com/favicon.ico
mysite.com
w nowej karcie(Aż do kroku 3, odświeżanie na tej samej karcie odtwarzało starą ikonę).
źródło
W przypadku Chrome na macOS, jeśli nie chcesz usuwać całej bazy danych Chrome favicon, jak sugerowano już tutaj, możesz usunąć tylko sprzeczne ikony:
sqlite3 ~/Library/Application\ Support/Google/Chrome/Default/Favicons
select * from favicons where url = 'http://mysite.dev/favicon.ico';
delete from favicons where url = 'http://mysite.dev/favicon.ico';
Alternatywnie możesz wyszukać wzór, którego możesz użyć ponownie, aby usunąć wiele wpisów:
select * from favicons where url like 'http://mysite.dev%';
delete from favicons where url like 'http://mysite.dev%';
.exit
i naciśnij return, aby wyjść z sqliteźródło
Gdy poprosisz o favicon od Google, możesz spojrzeć na nagłówki odpowiedzi.
Jeśli umieścisz w odpowiedzi nagłówek „Wygasa:”, przeglądarki klientów ponownie zażądają ikony po tym znaczniku czasu. Podczas aktywnego programowania możesz ustawić znacznik czasu wygaśnięcia na sekundę lub dwie w przyszłości i zawsze go pobierać, chociaż jest to zły plan długoterminowy.
źródło
Wersja Chrome: 68.0.3440.106
Uruchom ponownie Chrome (na pasku adresu):
chrome://restart
źródło
Obsługa ulubionych w Chrome jest błędna - zignoruj tę odpowiedź
Napisałem tę odpowiedź pod wrażeniem, że właśnie tak trzeba odświeżyć ulubione w Google Chrome. Okazuje się jednak, że działa to tylko przez pierwsze pięć minut, dopóki ikona nie zostanie bezpowrotnie utracona podczas synchronizacji historii Chrome .
Oryginalna odpowiedź
Nie musisz wyczyścić pamięci podręcznej, zrestartować przeglądarki ani przepisać kodu HTML - wystarczy zmienić adres URL ikony, raz tak, że przeglądarka będzie zapomnieć poprzednio buforowane ikonę.
Zakładając, że zdefiniowałeś ikonę za pomocą
<link>
elementów na stronie<head>
, możesz to zrobić, uruchamiając ten standardowy liniał JS w konsoli:Bardziej zaawansowane wdrożenie tego, które może to zrobić automatycznie dla użytkowników końcowych w produkcji, patrz freshicon.js .
źródło
?v=2
zamień cały adres URL na wybraną ikonę i wydaje się, że po odświeżeniu pozostanieNiedawno przywróciłem moje zakładki i szukałem sposobu na przywrócenie FavIcons bez odwiedzania każdej strony. Moje poszukiwania doprowadziły mnie do tego wątku.
Dla osób w podobnej sytuacji wystarczy pobrać dodatek FAVICON RELOADER. Po zainstalowaniu znajdziesz polecenie „przeładuj ulubione ikony” w menu rozwijanym BOOKMARKS.
https://addons.mozilla.org/en-US/firefox/addon/faviconreloader/?src=api
źródło
Jeśli używasz PHP .., możesz również użyć tej linii.
Odświeży twój ulubiony przy każdym ładowaniu strony.
źródło
Jeśli chcesz tylko debugować go, aby upewnić się, że się zmienił, możesz po prostu dodać fikcyjny wpis do pliku / etc / hosts i nacisnąć nowy adres URL. Ten favicon nie będzie już buforowany i możesz upewnić się, że nowy działa.
Poza zmianą nazwy favicon, nie ma sposobu, aby zmusić użytkowników do otrzymania nowej kopii
źródło
Działa to w Chrome:
na Macu: usuń plik
$ {user.home} / Library / Application Support / Google / Chrome / Default / Favicons
w systemie Windows: usuń pliki
C: \ Users [nazwa użytkownika] \ AppData \ Local \ Google \ Chrome \ User Data \ Default \ Favicons C: \ Users [nazwa użytkownika] \ AppData \ Local \ Google \ Chrome \ User Data \ Default \ Favicons-journal
źródło
źródło
Jest to obejście problemu z błędem chrome: zmień atrybut rel na arkusz stylów! Zachowaj jednak oryginalny link. Działa jak marzenie:
Wymyśliłem to obejście, ponieważ mamy również wymaganie, aby móc aktualizować strony / kod produkcyjny klienta i nie znalazłem żadnego innego rozwiązania, które działałoby.
źródło
Wiem, że to jest naprawdę stare pytanie, ale wciąż aktualne, choć obecnie dotyczy tylko Mozilli. (Nie mam pojęcia, co robi eksplorator, bo nie kodujemy niestandardowych przeglądarek).
Chrome zachowuje się dobrze, jeśli w nagłówku znajduje się tag ikony.
Chociaż Mozilla dobrze zdaje sobie sprawę z tego problemu, jak zwykle, nigdy nie naprawia irytujących drobiazgów. Nawet 6 lat później.
Istnieją dwa sposoby wymuszenia odświeżenia ikony za pomocą Firefoxa.
Niech wszyscy klienci odinstalują Firefoksa. Następnie zainstaluj ponownie.
Wpisz ręcznie domenę na pasku adresu URL - nie używaj http ani www tylko domeny (mydomain.com).
Zakłada się oczywiście, że twoje rekordy ns obejmują rozpoznawanie tylko dla nazwy domeny.
źródło
Prosty,
1: Nie chcę majstrować przy kodach (ps mój kreator stron nie używa kodów, używa przycisku „prześlij plik” i robi to sam)
2: Próbowałem CTRL+ F5i to nie działa dla mnie, więc ...
MAM ROZWIĄZANIE:
IE: Wyczyść całą historię przeglądarki i pliki cookie, przechodząc do ustawień cog O
Chrome: przejdź do menu w prawym górnym rogu poniżej X, które wygląda jak =, a następnie przejdź do ustawień, historii, USUŃ PRZEGLĄDANIE DANYCH i zaznacz wszystkie odpowiednie pola (zrobiłem historię, pliki cookie i opróżniłem catche z początek czasu)
źródło
Wystarczy zmienić tę nazwę pliku = 'favicon1.ico'
źródło
Oto, w jaki sposób udało mi się to za pomocą po prostu animowanego favicon i FireFox 3.6.13 (wersja beta) Prawdopodobnie będzie działać również w innych wersjach FireFox, daj mi znać, jeśli nie działa. Jest to w zasadzie rozwiązanie artlung, ale także adresujące plik .gif:
źródło
Upewnij się także, że umieścisz pełny adres URL obrazu, a nie tylko jego ścieżkę względną:
I nie:
źródło
/images/favicon.ico
to właściwy sposób: „po prostu działa” w różnych środowiskach (program / test / produkcja) i jest ścieżką bezwzględną - od podstawowego adresu URL dokumentu.Jeśli problem będzie występował pomimo wykonania powyższych kroków, spróbuj ponownie uruchomić serwer IIS . Mam nadzieję że to pomoże...
źródło
Simon, przypuszczam, że istnieje powód, dla którego żadna inna odpowiedź nie została jak dotąd zaakceptowana. Dlatego wierzę, że tak być problem z Grails - zwłaszcza jeśli używasz „wtyczki zasobów”.
Jeśli twoje wtyczki dostarczają favicon (co - nielogicznie - wiele osób tak robi), mogą zastąpić ten, którego chcesz użyć - pod warunkiem, że twój jest w samej wtyczce.
Jeśli tymczasowe usunięcie favicon ze wszystkich wtyczek rozwiązuje problem, najprawdopodobniej występują następujące problemy:
http://jira.grails.org/browse/GPRESOURCES-134
źródło
Wykonaj poniższe czynności, aby zmienić ikonę aplikacji:
Alternatywnie zmień nazwę pliku ikony na favicon.ico i zastąp go w katalogu.
źródło