Domanda

Ho un'applicazione Grails in esecuzione localmente utilizzando il proprio Tomcat e ho appena cambiato la favicon con una nuova.Il problema è che non riesco a vederlo in nessun browser.Viene visualizzata la vecchia favicon oppure non ricevo alcuna favicon, ma non quella nuova.Non penso che questo sia un problema di Grails di per sé, più un problema con le favicon.

Cosa dovrebbe succedere con le favicon?Come dovrebbero funzionare?Nel mio browser sono presenti numerosi segnalibri che presentano le icone sbagliate e sembrano non aggiornarsi mai.Come faccio a forzare il server/browser a interrompere la memorizzazione nella cache?Sembra piuttosto sciocco memorizzarli sempre nella cache dato che normalmente sono solo 16x16.Perché non caricarli semplicemente ad ogni visita alla pagina?Non è esattamente un sovraccarico enorme.

È stato utile?

Soluzione

Per aggiornare favicon del sito è possibile forzare i browser a scaricare una nuova versione utilizzando il tag link e una querystring sul nome del file. Ciò è particolarmente utile in ambienti di produzione per assicurarsi che gli utenti ottengono l'aggiornamento.

<link rel="icon" href="http://www.yoursite.com/favicon.ico?v=2" />

Altri suggerimenti

Ok, dopo 10 minuti di wtf'ing, il modo più semplice per risolvere il problema è vicino a quello di lineofbirds

  1. Digita www.yoursite.com/favicon.ico (o www.yoursite.com/apple-touch-icon.png, ecc.)
  2. Push Invio
  3. Ctrl + F5
  4. Riavvia browser (IE, Firefox)

Questa risposta non è stata ancora data quindi ho pensato di pubblicarla.Ho cercato in tutto il Web e non ho trovato una buona risposta per testare le favicon nello sviluppo locale.

Nella versione attuale di Chrome (su OSX) se esegui le seguenti operazioni otterrai un aggiornamento immediato della favicon:

  1. Passa il mouse sopra la scheda
  2. Fare clic con il tasto destro
  3. Seleziona ricarica
  4. La tua favicon ora dovrebbe essere aggiornata

Questo è il modo più semplice che ho trovato per aggiornare la favicon localmente.

Rinominare il file favicon e aggiungere un'intestazione HTML con il nuovo nome, come ad esempio:

<link rel="SHORTCUT ICON" href="http://www.yoursite.com/favicon2.ico" />

Se si utilizza PHP si potrebbe anche usare l'MD5 hash del favicon come una query-stringa:

<link rel="shortcut icon" href="favicon.ico?v=<?php echo md5_file('favicon.ico') ?>" />

In questo modo il Favicon sempre aggiorna quando è stato modificato.

Come sottolineato nei commenti è possibile utilizzare anche la data dell'ultima modifica al posto del MD5-Hash per ottenere la stessa cosa e risparmiare un po 'sulle prestazioni del server:

<link rel="shortcut icon" href="favicon.ico?v=<?php echo filemtime('favicon.ico') ?>" />

Con la distruzione del file browser utilizza per memorizzare i vecchi favicon, è possibile forzare quelli nuovi per essere caricato.

  1. Chiudere il browser. Assicurarsi che non ci sono nessun browser più processi in esecuzione (ad esempio controllare Task Manager per chrome.exe o firefox.exe).
  2. Spostarsi in cui il browser memorizza i file degli utenti:
  3. Eliminare la cache favicon.
    • Per Chrome, rimuovere Favicons e Favicons-journal
    • Per Firefox, rimuovere favicons.sqlite

Questo sarà quasi sicuramente lavorare. In caso contrario:

  • Possibilità 1: un aggiornamento per il browser è cambiato come funziona la cache favicon. Si prega di modificare questa risposta con nuove istruzioni.
  • Possibilità 2: Il vostro problema favicon non ha nulla a che fare con il caching overaggressive. Può invece essere un problema di risorse di carico -. Utilizzando strumenti di sviluppo, assicurarsi che la nuova favicon sta scaricando correttamente

In Chrome su Mac OS X si può rimuovere il file con cache di favicon

${user.home}/Library/Application Support/Google/Chrome/Default/Favicons 

Bene, in testa è in testa, ma sì, non troppo grande.

Inoltre, i browser sono a volte "greedy" sui file memorizzati nella cache. Si potrebbe cancellare la cache e / o riavviare il browser e può vedere il cambiamento. Se fallisce se ...

La mia soluzione è quella di cheapo:

  1. Visita il tuo file alla http://example.com/favicon.ico nel tuo browser.
  2. Elimina la favicon.ico dalla webroot.
  3. http://example.com/favicon.ico di nuovo in un browser, verificare che manca .
  4. Carica nuova al tuo webroot.
  5. http://example.com/favicon.ico di nuovo in un browser, verificare è la nuovo.

Se tale sequenza non funziona, allora qualcosa sta succedendo.

A seconda del browser vengono gestite in modo diverso, ma in genere trovo che andare alla pagina predefinita del sito, e facendo un aggiornamento forzato. CTRL + F5 , tipicamente farlo da aggiornare.

SU MAC: + Maiusc -. R oppure tenere premuto Ctrl e fare clic sul pulsante Ricarica nel browser

Per Internet Explorer, c'è un'altra soluzione:

  1. Apri Internet Explorer.
  2. Fare clic sul menu> Strumenti> Opzioni Internet.
  3. Fare clic i file temporanei Internet pulsante generale>> "Impostazioni".
  4. Fai clic su "Visualizza file" pulsante.
  5. Trova il tuo file favicon.ico vecchio ed eliminarlo.
  6. Riavvia browser (Internet Explorer).

Più che probabile un problema di browser web. Si dovrà eliminare la cache dal tuo browser, chiudere il browser e riaprirlo. Questo dovrebbe risolvere il problema.

Non credo vostre favicon avranno aggiornato sui vostri preferiti fino si rivisitare quella pagina, e supponendo che si era in precedenza eliminato la cache del browser.

Il tuo browser non uscirà a Internet per verificare la presenza di una nuova favicon di per sé ... meno male.

Provare ad aprire in una nuova scheda

Ho provato molte delle cose di cui sopra (il reset della cache, rinfrescante, utilizzando il tag link, ecc), ho anche controllato il mio file di .htaccess e reimpostare la variabile ExpiresByType.

Ma questo è ciò che alla fine ha funzionato per me sia in Chrome (25.0.x) e Safari (6.0.1):

  1. La cache Flushing
  2. Hard-linking la favicon con il tag <link>
  3. Navigazione verso mysite.com/favicon.ico
  4. mysite.com Apertura in una nuova scheda

(Fino al punto 3, rinfrescante nella stessa scheda mantenuto riprodurre la vecchia icona.)

Per Chrome su MacOS, se non si desidera eliminare l'intero database favicon Chrome come suggerito già qui, è possibile eliminare solo le icone contrastanti:

  1. Esci Chrome
  2. caricare il database favicon (utilizzando sqlite qui):

sqlite3 ~/Library/Application\ Support/Google/Chrome/Default/Favicons

  1. Cercare il file che causa problemi

select * from favicons where url = 'http://mysite.dev/favicon.ico';

  1. Se si è soddisfatti con l'uscita:

delete from favicons where url = 'http://mysite.dev/favicon.ico';


In alternativa , è possibile cercare un modello che è possibile riutilizzare per eliminare più voci:


  1. Cerca più file che stanno causando problemi

select * from favicons where url like 'http://mysite.dev%';

  1. E ancora, se si è soddisfatti con quello che restituisce:

delete from favicons where url like 'http://mysite.dev%';


  1. Tipo .exit e premete Invio per uscire SQLite
  2. Riavvia Chrome

Quando si richiede la favicon di Google, è possibile dare un'occhiata alle intestazioni di risposta.

Last-Modified: Fri, 09 Jan 2009 16:35:02 GMT
Date: Thu, 01 Dec 2010 00:00:01 GMT
Expires: Fri, 01 Dec 2011 00:00:01 GMT
Cache-Control: public, max-age=31536000
Age: 7

Se si mette un "Scadenza:" header sulla risposta, browser client si ri-richiesta l'icona dopo quella data e ora. Mentre si fa sviluppo attivo, è possibile impostare la scadenza timestamp per un secondo o due, in futuro, e sempre lo hanno recuperare questo, anche se questo è un piano a lungo termine scadente.

Il supporto delle favicon di Chrome è difettoso: ignora questa risposta

Ho scritto questa risposta con l'impressione che questo fosse ciò che serviva per aggiornare le favicon in Google Chrome.Tuttavia, sembra che funzioni solo per i primi cinque minuti circa, finché non viene visualizzata l'icona irrimediabilmente perso nella sincronizzazione della cronologia di Chrome.

Risposta originale

Non è necessario svuotare la cache, riavviare il browser, O riscrivi il tuo HTML: devi solo cambiare l'URL dell'icona, una volta, in modo che il browser dimentichi l'icona precedentemente memorizzata nella cache.

Supponendo che tu abbia definito la tua icona tramite <link> elementi nella tua pagina <head>, puoi farlo eseguendo this una riga standard-JS nella consolle:

[].slice.call(document.querySelectorAll('head>link[rel$="icon"]')).map(function(ln){ln.href+='?v=2'});

Per un'implementazione più avanzata che può eseguire automaticamente questa operazione per gli utenti finali in produzione, vedere freshicon.js.

Recentemente ho ripristinato i miei segnalibri e stavo cercando un modo per ripristinare le favicon senza visitare ogni pagina. La mia ricerca mi ha portato a questo thread.

Per coloro che in una circostanza simile semplicemente scaricare l'addon favicon RELOADER. Una volta installato si trova il "ricaricare icone preferite" comando nel menu Segnalibri discesa.

https://addons.mozilla.org/en -US / firefox / addon / faviconreloader /? src = api

Se si sta utilizzando PHP .. allora si può anche utilizzare questa linea.

<link rel="shortcut icon" href="http://www.yoursite.com/favicon.ico?v=<?php echo time() ?>" />

Sarà rinfrescare la favicon su ogni caricamento della pagina.

Chrome Versione: 68.0.3440.106

Basta riavviare Chrome (nella barra degli indirizzi): chrome://restart

Se siete solo interessati a debug per assicurarsi che è cambiato, si può semplicemente aggiungere una voce fittizia per il file / etc / hosts e ha colpito il nuovo URL. Che favicon wouldnt essere memorizzate nella cache già e si può essere sicuri di nuovo si sta lavorando.

A corto di cambiare il nome della favicon, non c'è modo si può imporre agli utenti di ottenere una nuova copia

Questo funziona per Chrome:

  • su Mac: cancellare file

    $ {} user.home / Libreria / Application Support / Google / Chrome / Default / Favicons

  • su Windows: eliminare i file

    C: \ Users [nome utente] \ AppData \ Local \ Google \ Chrome \ User Data \ Default \ Favicons C: \ Utenti [nome utente] \ AppData \ Local \ Google \ Chrome \ User Data \ Default \ Favicons-journal

fonte

Questa è una soluzione per il bug di Chrome: modificare l'attributo rel al foglio di stile! Mantenere il link originale però. Funziona come un fascino:

Sono venuto con questa soluzione, perché abbiamo anche l'obbligo di essere in grado di aggiornare i siti / codice di produzione del cliente e non ho trovato nessuna delle altre soluzioni per lavorare.

So che questa è una domanda veramente vecchio, ma è anche uno che è ancora rilevante, anche se in questi giorni si applica solo a Mozilla. (Non ho idea di quello che Explorer non coz non il codice per i browser non standard).

Chrome è ben comportata se si includono un tag un'icona nell'intestazione.

Anche se Mozilla sono ben consapevoli del problema, come al solito, non hanno mai fissare la roba fastidioso piccolo. Anche 6 anni più tardi.

Quindi, ci sono due modi di forzare rinfrescare un'icona con Firefox.

  1. avere tutti i vostri clienti disinstallare Firefox. Quindi reinstallare.

  2. digitare manualmente solo il dominio nella barra degli URL - non utilizzare http o www solo il dominio (mydomain.com).

Questo presuppone, naturalmente, che i record NS includono la risoluzione del nome di dominio unico.

Ecco come sono riuscito con una favicon semplice animato e FireFox 3.6.13 (versione beta) E 'probabilmente funzionerà per altre versioni di Firefox così, fatemi sapere se non è così. Si tratta fondamentalmente di una soluzione di artlung, ma affrontando il file .gif così:

    file
  1. Ho aperto dal programma FTP, scaricato My Favicon.ico E Favicon.gif,
  2. poi eliminati dal file di mio server.
  3. Poi li ho aperto nel mio browser come artlung suggerito: http://mysite.com/favicon.ico e http://mysite.com/favicon.gif Una volta che tali indirizzi caricati e visualizzati 404 pagine di errore ( "pagina non trovata")
  4. I POI caricato entrambi i file di nuovo sul mio server, e PRESTO - le icone corrette sono stati visualizzati istantaneamente
  5. .

fare anche assicurarsi di mettere l'URL dell'immagine completo non solo il suo percorso relativo:

http://www.example.com/images/favicon.ico

E non:

images/favicon.ico

Se il problema persiste nonostante l'applicazione di alcuni passaggi di cui sopra cercare di riavviare il server IIS . Spero che questo aiuta ...

Semplice,

1: Non voglio a smanettare con i codici (ps il mio sito del costruttore non fa uso di codici, utilizza il pulsante "Carica file" e lo fa per sé)

2: ho provato il CTRL + F5 e non funziona per me così ....

Ho una soluzione:

IE: Cancella tutto cronologia del browser ei cookie andando al impostazioni O COG

Chrome: Vai al menu nell'angolo in alto a destra sotto la X che assomiglia a =, poi andare alle impostazioni, cronologia, Cancella dati di navigazione e verificare tutte le caselle che si applicano (ho fatto la storia, i cookie e svuotare la Catche dall'inizio del tempo)

Basta cambiare questo nome file = 'favicon1.ico'

per cambiare icona dell'applicazione Si prega di seguire i passaggi qui sotto:

  1. Aggiungi il file .ico nel progetto.
  2. Vai angular.json e in quel "progetti" -> "architetto" -> "costruire" -> "Opzioni" -> "attività" e qui fanno una voce per il file di icona. Fare riferimento alla voce esistente di favicon.ico per sapere come fare.
  3. Vai index.html e aggiornare il percorso del file di icona. Ad esempio,

<link rel="icon" type="image/x-icon" href="abc.ico">

In alternativa, rinominare il file icona con favicon.ico e sostituirlo nella directory.

  1. Riavviare il server.
  2. aggiornamento del browser duro e si è pronti per partire.

Simon, suppongo c'è una ragione nessuna delle altre risposte è accettato finora. Così Credo che questo potrebbe essere un problema, tuttavia, Grails -. Soprattutto se si sta utilizzando il 'Risorse Plugin'

Se i plugin forniscono una favicon (che - illogicamente - molti lo fanno), potrebbero ignorare quello che si desidera utilizzare -. Dato il vostro è in un plugin per sé

Se l'eliminazione del favicon da tutti i vostri plugin temporanee risolve il problema, allora si è molto probabile sperimentare questo:

http://jira.grails.org/browse/GPRESOURCES-134

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top