1617

独自の tomcat を使用して Grails アプリケーションをローカルで実行しており、favicon を新しいものに変更しました。問題は、どのブラウザでも表示できないことです。古いファビコンが表示されるか、ファビコンがまったく表示されませんが、新しいファビコンは表示されません。これは Grails 自体の問題ではなく、ファビコンの問題だと思います。

ファビコンで何が起こるはずですか? 彼らはどのように機能するはずですか?ブラウザーに間違ったアイコンを持つブックマークが多数あり、更新されないようです。サーバー/ブラウザにそれらのキャッシュを強制的に停止させるにはどうすればよいですか? 通常は 16x16 しかないので、常にキャッシュするのはかなりばかげているようです。ページにアクセスするたびにアップロードしてみませんか? それは正確には大きなオーバーヘッドではありません。

4

32 に答える 32

2169

サイトのファビコンを更新するには、ファイル名にリンク タグとクエリ文字列を使用して、ブラウザに新しいバージョンを強制的にダウンロードさせることができます。
これは、ユーザーが更新を確実に入手できるようにするために、実稼働環境で特に役立ちます。

<link rel="icon" href="http://www.yoursite.com/favicon.ico?v=2" />
于 2011-08-19T03:39:56.017 に答える
847

以下のlineofbirdの回答から適応すると、次のことができます:

  1. アドレスバーのファビコン URL に直接移動するには、アドレスを入力します

    • www.yoursite.com/favicon.ico
    • www.yoursite.com/apple-touch-icon.png
  2. を押して URL に移動します。Enter

  3. Ctrl+でリフレッシュF5

  4. ブラウザを再起動します (例: Chrome、Firefox)

于 2011-03-08T23:45:42.867 に答える
263

この答えはまだ与えられていないので、投稿すると思いました。私はウェブ全体を見回しましたが、ローカル開発でファビコンをテストするための良い答えが見つかりませんでした。

Chrome の現在のバージョン (OSX 上) では、次の操作を行うと、ファビコンが即座に更新されます。

  1. タブにカーソルを合わせる
  2. 右クリック
  3. リロードを選択
  4. ファビコンが更新されます

これは、ファビコンをローカルで更新する最も簡単な方法です。

于 2014-09-23T19:14:53.950 に答える
59

ファビコン ファイルの名前を変更し、次のような新しい名前の html ヘッダーを追加します。

<link rel="SHORTCUT ICON" href="http://www.yoursite.com/favicon2.ico" />
于 2010-02-05T17:14:52.423 に答える
57

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') ?>" />
于 2014-06-11T14:54:58.177 に答える
17

まあ、オーバーヘッドはオーバーヘッドですが、そうです、大きすぎません。

また、ブラウザーは、キャッシュされたファイルについて「貪欲」になる場合があります。キャッシュをクリアしたり、ブラウザを再起動したりすると、変更が表示される場合があります。それでもダメなら…

私の安っぽい解決策は次のとおりです。

  1. ブラウザでhttp://example.com/favicon.icoにあるファイルにアクセスします。
  2. ウェブルートから favicon.ico を削除します。
  3. ブラウザーで再度http://example.com/favicon.icoにアクセスし、見つからないことを確認します。
  4. 新しいものをウェブルートにアップロードします。
  5. ブラウザーでhttp://example.com/favicon.icoに再度アクセスし、それが新しいものであることを確認します。

そのシーケンスが機能しない場合は、別のことが起こっています。

于 2010-02-05T17:15:16.480 に答える
17

ブラウザーによって処理が異なりますが、通常、サイトの既定のページに移動し、ハード リフレッシュを行うことがわかります。 CTRL+ F5(またはmacOS では⌘ Command+ SHIFT+ F5)、通常は更新されます。

于 2010-02-05T17:12:22.940 に答える
16

MAC の場合: ⌘</kbd> + Shift-R or hold down Ctrl and click the reload button in the browser.

于 2014-07-09T13:04:42.200 に答える
10

Internet Explorer の場合、別の解決策があります。

  1. インターネット エクスプローラーを開きます。
  2. メニュー > ツール > インターネット オプションをクリックします。
  3. 一般 > インターネット一時ファイル > 「設定」ボタンをクリックします。
  4. 「ファイルを表示」ボタンをクリックします。
  5. 古い favicon.ico ファイルを見つけて削除します。
  6. ブラウザ(インターネットエクスプローラー)を再起動してください。
于 2012-11-25T01:10:01.060 に答える
9

新しいタブで開いてみてください

上記の多くのことを試しました (キャッシュのリセット、更新、リンク タグの使用など) .htaccess。ファイルをチェックして、ExpiresByType 変数をリセットしました。

しかし、これは Chrome (25.0.x) と Safari (6.0.1) の両方で最終的に機能したものです。

  1. キャッシュのフラッシュ
  2. <link>ファビコンとタグのハードリンク
  3. へのナビゲートmysite.com/favicon.ico
  4. mysite.com新しいタブで開く

(手順 3 までは、同じタブで更新すると、古いアイコンが再現され続けました。)

于 2013-03-11T11:31:08.107 に答える
9

おそらく Web ブラウザの問題です。ブラウザからキャッシュを削除し、ブラウザを閉じてから再度開く必要があります。それはそれを修正する必要があります。

そのページに再度アクセスするまで、お気に入りのファビコンが更新されるとは思いません。以前にブラウザーのキャッシュをクリアしたと仮定します。

お使いの Web ブラウザーは、新しいファビコンを自動的にチェックするためにインターネットにアクセスすることはありません... ありがたいことです。

于 2010-02-05T17:12:07.983 に答える
7

Google からファビコンをリクエストすると、応答ヘッダーを確認できます。

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:」ヘッダーを追加すると、クライアント ブラウザはそのタイムスタンプの後にアイコンを再リクエストします。アクティブな開発を行っている間、expires タイムスタンプを 1 秒または 2 秒後に設定し、常にこれをフェッチすることができますが、それは長期的な計画ではありません。

于 2010-02-05T17:17:05.533 に答える
4

最近ブックマークを復元し、各ページにアクセスせずにFavIconを復元する方法を探していました。私の検索は私をこのスレッドに連れて行った。

同様の状況にある場合は、FAVICONRELOADERアドオンをダウンロードするだけです。インストールすると、[ブックマーク]ドロップダウンメニューに[お気に入りのアイコンを再読み込み]コマンドが表示されます。

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

于 2011-11-30T17:15:36.437 に答える
3

変更されていることを確認するためにデバッグするだけの場合は、/etc/hosts ファイルにダミーのエントリを追加して、新しい URL にアクセスするだけです。そのファビコンはまだキャッシュされていないため、新しいファビコンが機能していることを確認できます。

ファビコンの名前を変更する以外に、ユーザーに新しいコピーを取得させる方法はありません

于 2011-04-04T13:46:39.850 に答える
2

これは chrome バグの回避策です: rel 属性をスタイルシートに変更してください! ただし、元のリンクを保持します。魅力のように機能します:

この回避策を思いついたのは、顧客のサイト/運用コードを更新できるようにする必要があり、他の解決策が見つからなかったためです。

于 2013-04-02T16:52:31.433 に答える
2

これはChromeで機能します:

  • Mac の場合: ファイルを削除する

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

  • Windows の場合: ファイルを削除する

    C:\Users[ユーザー名]\AppData\Local\Google\Chrome\User Data\Default\Favicons C:\Users[ユーザー名]\AppData\Local\Google\Chrome\User Data\Default\Favicons-journal

ソース

于 2018-05-31T11:18:03.640 に答える
1

単純、

1: コードをいじりたくない (ps 私のサイトビルダーはコードを使用せず、「ファイルのアップロード」ボタンを使用し、それ自体で行います)

2: CTRL+を試してみましたが、うまくいきF5ませんでした....

解決策があります:

IE: 設定の歯車 O に移動して、すべてのブラウザー履歴と Cookie を消去します。

Chrome: 右上隅にある = のような X の下のメニューに移動し、設定、履歴、閲覧データの消去に移動して、該当するすべてのボックスをオンにします (履歴、Cookie を実行し、からキャッチを空にしました時間の始まり)

于 2013-05-30T18:32:26.153 に答える
1

これは非常に古い質問であることは承知していますが、最近は mozilla にのみ適用されますが、今でも関連する質問でもあります。(非標準ブラウザ用にコーディングしていないため、エクスプローラが何をするのかわかりません)。

ヘッダーにアイコン タグが含まれている場合、Chrome は適切に動作します。

mozilla は問題をよく認識していますが、いつものように、厄介な小さな問題を修正することはありません。6年後も。

そのため、Firefox でアイコンを強制的に更新するには 2 つの方法があります。

  1. すべてのクライアントに Firefox をアンインストールしてもらいます。その後、再インストールします。

  2. URL バーにドメインのみを手動で入力します。http または www はドメイン (mydomain.com) のみを使用しないでください。

もちろん、これは ns レコードにドメイン名のみの解決が含まれていることを前提としています。

于 2017-06-01T23:51:59.223 に答える
0

単純にアニメーション化されたファビコンと FireFox 3.6.13 (ベータ版) を使用して管理した方法は次のとおりです。他のバージョンの FireFox でも動作する可能性があります。動作しない場合はお知らせください。これは基本的にartlungのソリューションですが、.gifファイルにも対処しています:

  1. FTP プログラムで開き、favicon.ico ファイルと favicon.gif ファイルをダウンロードしました。
  2. 次に、サーバーのファイルからそれらを削除しました。
  3. 次に、artlung が提案したように、ブラウザーでそれらを開き まし
  4. 次に、両方のファイルをサーバーにアップロードし、PRESTO - 正しいアイコンがすぐに表示されました。
于 2011-02-10T00:51:09.460 に答える
0

また、相対パスだけでなく、完全な画像 URL を入力してください。

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

そしてそうではありません:

images/favicon.ico
于 2010-03-06T12:32:06.967 に答える
0

上記のいくつかの手順を適用しても問題が解決しない場合は、IIS サーバーを再起動してみてください。お役に立てれば...

于 2015-03-12T11:16:44.243 に答える
-3

サイモン、これまでのところ他の回答が受け入れられないのには理由があると思います。したがって、これはGrailsの問題である可能性があると思います-特に「リソースプラグイン」を使用している場合

プラグインが favicon を提供する場合 (これは - 非論理的に - 多くの場合)、使用したいものをオーバーライドする可能性があります - あなたのものがプラグイン自体にある場合。

すべてのプラグインからファビコンを削除すると一時的に問題が解決する場合は、次のような問題が発生している可能性があります。

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

于 2012-01-05T12:46:51.380 に答える
-3

アプリのアイコンを変更するには、以下の手順に従ってください。

  1. プロジェクトに .ico ファイルを追加します。
  2. angular.json に移動し、その "projects" -> "architect" -> "build" -> "options" -> "assets" に移動し、ここでアイコン ファイルのエントリを作成します。その方法については、favicon.ico の既存のエントリを参照してください。
  3. index.html に移動し、アイコン ファイルのパスを更新します。例えば、

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

または、アイコン ファイルの名前を favicon.ico に変更し、ディレクトリ内で置き換えます。

  1. サーバーを再起動します。
  2. ブラウザをハード リフレッシュすると、準備完了です。
于 2019-01-21T04:35:32.447 に答える
-5

ほんの数人には役立つかもしれませんが、私は同じ問題を抱えていて、それがファイルパーミッションに関連していることを発見したので、777 パーミッションを与えて、問題がそこにあることを確認した後、もちろん動作しました。アクセス許可をより安全な値に戻してください。

于 2016-06-30T14:35:33.933 に答える