Grailsアプリケーションを独自のTomcatを使用してローカルで実行していますが、新しいアイコンにfaviconを変更しました。問題は私がどのブラウザでも見ることができないということです。古いファビコンが現れるか、私はまったくファビコンを取得できませんが、私の新しいファビコンは取得しません。これはGrails自体の問題ではなく、より多くの支持者の問題ではないと思います。
Faviconで何が起こるはずですか?彼らはどのように働いているはずですか?私のブラウザには間違ったアイコンを持ったたくさんのブックマークがあり、それらは決して更新されないようです。サーバー/ブラウザにそれらのキャッシュを強制的に停止させるにはどうすればよいですか?通常は16x16しかないので、常にそれらをキャッシュするのはかなり馬鹿げているようです。ページにアクセスするたびにそれらをアップロードしないのはなぜですか。それは正確に大きなオーバーヘッドではありません。
あなたのサイトのfaviconを更新するためにあなたはあなたのファイル名のlinkタグとクエリ文字列を使ってブラウザに新しいバージョンをダウンロードさせることができます。これは、ユーザーがアップデートを確実に入手できるようにするために、運用環境で特に役立ちます。
<link rel="icon" href="http://www.yoursite.com/favicon.ico?v=2" />
わかりました、10分のwtf'ing後、それを修正する簡単な方法はlineofbirdsのそれに近い
この回答はまだ与えられていないので、投稿すると思いました。私はウェブ全体を見回していましたが、地域開発におけるテストの好意をテストするための良い答えは見つかりませんでした。
現在のバージョンのchrome(OSX上)では、次の操作を行えば、すぐにfaviconが更新されます。
これは私がローカルでfaviconを更新するために見つけた最も簡単な方法です。
Faviconファイルの名前を変更して、新しい名前のHTMLヘッダーを追加します。
<link rel="SHORTCUT ICON" href="http://www.yoursite.com/favicon2.ico" />
PHPを使用すると、ファビコンのMD5ハッシュをクエリ文字列として使用することもできます。
<link rel="shortcut icon" href="favicon.ico?v=<?php echo md5_file('favicon.ico') ?>" />
これにより、Faviconは変更されたときに常に更新されます。
コメントで指摘されているように、MD5ハッシュの代わりに最終更新日を使用して同じことを達成し、サーバーパフォーマンスを少し節約することもできます。
<link rel="shortcut icon" href="favicon.ico?v=<?php echo filemtime('favicon.ico') ?>" />
ブラウザが古いファビコンを保存するために使用しているファイルを破壊することで、新しいファビコンを強制的にロードすることができます。
chrome.exe
またはfirefox.exe
を確認してください)。Favicons
とFavicons-journal
を削除しますfavicons.sqlite
を削除しますこれはほぼ間違いなく機能します。そうでない場合:
Mac OS X上のChromeでは、faviconキャッシュでファイルを削除できます
${user.home}/Library/Application Support/Google/Chrome/Default/Favicons
オーバーヘッドはオーバーヘッドですが、それほど大きくはありません。
また、ブラウザはキャッシュされたファイルに貪欲です。キャッシュをクリアしたりブラウザを再起動したりすると、変更が反映される可能性があります。それでも失敗したら...
私の安っぽい解決策は、
そのシーケンスがうまくいかない場合は、他に何かが起こっています。
ブラウザによっては処理方法が異なりますが、通常はサイトのデフォルトページに移動してハードリフレッシュを実行します。 CTRL + F5、通常それを更新するでしょう。
MAC上: ⌘ + Shift - R または押し下げる Ctrl ブラウザのリロードボタンをクリックしてください。
Internet Explorerの場合、別の解決策があります。
おそらくWebブラウザの問題です。ブラウザからキャッシュを削除し、ブラウザを閉じて再度開く必要があります。それで解決するはずです。
私はあなたがそのページを再び訪れるまで、そしてあなたが以前にあなたのブラウザのキャッシュをクリアしたと仮定するまであなたのお気に入りがあなたのお気に入りで更新されるとは思わない。
あなたのウェブブラウザはそれ自身で新しいfaviconをチェックするためにインターネットに出かけないでしょう。
上記のこと(キャッシュのリセット、更新、リンクタグの使用など)の多くを試してみましたが、.htaccess
ファイルを確認してExpiresByType変数をリセットしました。
しかし、これがChrome(25.0.x)とSafari(6.0.1)の両方でついに私のために働いたものです:
<link>
タグでハードリンクするmysite.com/favicon.ico
に移動するmysite.com
を開く(ステップ3まで、同じタブを更新しても古いアイコンが再現されていました。)
Mac OS上のChromeの場合、ここで既に提案したようにChrome faviconデータベース全体を削除したくない場合は、競合するアイコンだけを削除できます。
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';
または では、複数のエントリを削除するために再利用できるパターンを検索できます。
select * from favicons where url like 'http://mysite.dev%';
delete from favicons where url like 'http://mysite.dev%';
.exit
を入力してリターンキーを押してSQLiteを終了Googleにfaviconをリクエストすると、レスポンスヘッダーを見ることができます。
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
応答に "Expires:"ヘッダーを付けると、クライアントブラウザはそのタイムスタンプの後にアイコンを再要求します。積極的な開発をしている間、将来的には有効期限のタイムスタンプを1秒か2秒に設定し、常にこれを取得することができます。
この答えは、Google Chromeでお気に入りを更新するのに要したものだという印象の下に書いています。しかし、これは最初の5分間ほどしか機能しないことがわかります。アイコンが Chromeの履歴同期で取り返しのつかないほど失われるまで になります。
キャッシュをクリアしたり、ブラウザを再起動したり、や HTMLを書き換える必要はありません。ブラウザが以前にキャッシュされたアイコンを忘れてしまうように、アイコンのURLをonceに変更するだけです。
ページの<link>
の<head>
要素でアイコンを定義したと仮定すると、コンソールで次のstandard-JS one-linerを実行することでそれを行うことができます。
[].slice.call(document.querySelectorAll('head>link[rel$="icon"]')).map(function(ln){ln.href+='?v=2'});
本番環境のエンドユーザーに対して自動的にこれを実行できる、より高度な実装については、 freshicon.js を参照してください。
私は最近自分のブックマークを復元し、各ページにアクセスせずにFavIconsを復元する方法を探していました。私の検索で私はこのスレッドにたどり着きました。
似たような状況にある人のためには、単にFAVICON RELOADERアドオンをダウンロードしてください。インストールが完了すると、「ブックマーク」ドロップダウンメニューに「お気に入りアイコンの再読み込み」コマンドが表示されます。
https://addons.mozilla.org/en-US/firefox/addon/faviconreloader/?src=api
PHP ..を使用している場合は、この行も使用できます。
<link rel="shortcut icon" href="http://www.yoursite.com/favicon.ico?v=<?php echo time() ?>" />
ページを読み込むたびにfaviconが更新されます。
それが変更されたことを確認するためにそれをデバッグすることだけに興味があるなら、あなたは単にあなたの/ etc/hostsファイルにダミーのエントリを追加して、新しいURLを打つことができます。そのファビコンはすでにキャッシュされていないので、新しいファビコンが機能していることを確認できます。
Faviconの名前を変更するだけでは、ユーザーに新しいコピーを取得させることはできません。
Chromeバージョン:68.0.3440.106
アドレスバーにあるChromeを再起動してください。 chrome://restart
これはChromeでも動作します。
macの場合:ファイルを削除する
$ {user.home} /ライブラリ/アプリケーションのサポート/ Google/Chrome /デフォルト/ Favicons
windowsの場合:ファイルを削除する
C:\ Users [ユーザー名]\AppData\Local\Google\Chrome \ユーザーデータ\ Default\Favicons ジャーナル
私はこれが本当に古い質問であることを知っています、しかしそれはまた関連性のあるものでもあります、最近はmozillaにだけ当てはまります。 (私は、どんなExplorerがcozを実行しているのか私達が標準的でないブラウザ用にコーディングしていないのか分からない)。
ヘッダーにアイコンタグが含まれている場合、Chromeは正常に動作します。
Mozillaはこの問題をよく認識していますが、いつものように、迷惑な小さなものを修正することはありません。 6年後でさえも。
そのため、Firefoxでアイコンの更新を強制する方法は2つあります。
すべてのクライアントにFirefoxのアンインストールを依頼してください。その後、再インストールしてください。
URLバーにドメインだけを手動で入力します - httpまたはwww だけのドメイン(mydomain.com)は使用しないでください。
これはもちろんあなたのnsレコードがドメイン名だけのための解決を含んでいると仮定します。
また、相対パスだけでなく、フルイメージURLを入力してください。
http://www.example.com/images/favicon.ico
そしてそうではない:
images/favicon.ico
これはchromeバグの回避策です。rel属性をstylesheetに変更してください。オリジナルのリンクは残してください。魅力のように働く:
顧客のサイトや本番コードを更新できるという要件もあり、他に解決策が見つからないため、この回避策を考え出しました。
このファイル名= 'favicon1.ico'を変更するだけです。
IIS Serverを再起動してみてください上記の手順を実行しても問題が解決しない場合お役に立てれば...
単純な、
1:コードをいじる必要はありません(ps私のサイトビルダーはコードを使用しません、それは "ファイルのアップロード"ボタンを使用します、そしてそれはそれ自身をします)
2:やった CTRL+F5 そしてそれは私のためにうまくいきません....
私は解決策があります。
IE:設定画面を表示して、ブラウザのすべての履歴とCookieを消去するO
Chrome:Xの下の右上隅にあるa =のようなメニューに行き、次に設定、履歴、BROWSING CLEAR DATAの順に進み、該当するすべてのボックスをチェックします(履歴、Cookie、そしてキャッチを空にします)。時間の始まり)
シンプルなアニメーションのファビコンとFireFox 3.6.13(ベータ版)で管理した方法は次のとおりです。FireFoxの他のバージョンでもおそらく動作しますが、動作しない場合はお知らせください。これは基本的にartlungのソリューションですが、.gifファイルにも対応しています。