37

質問

私の Web サイトがローカル (file://プロトコルを使用) の場合、ファビコンは Chrome や Safari では表示されませんが、Firefox (すべて Mac 上) では機能します。ただし、まったく同じサイトが実際にホストされている場合、ファビコンは私が試したすべてのブラウザーで正常に機能します。Webkit ブラウザーがローカルのファビコンを表示しないのはなぜですか?

詳細

favicon.ico ファイルは、index.html ページと同じディレクトリにあります。いくつかのバリエーションを試しましたが、次のコードを使用しています。

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

ファビコンは 経由でアクセスすると機能するので、http://それを含める方法に何か問題があるとは思えませんが、わかりません...

アップデート

これが設計によるものであることを示唆するいくつかのフォーラム投稿 (あまり公式なものではない) を見つけましたが、それらのいずれも根拠を示していません。また、IE の一部のバージョンにも同じ問題があるようです。ローカルのファビコンにセキュリティ上のリスクはありますか? (たとえば、一部のブラウザーではローカル Cookie に問題があることを知っています。)

免責事項:同様の質問がたくさんあるようですが、私はこれを正確に見つけていません。(実際、私は基本的にこれと同じ質問をしていますが、そこにある答えはどれもうまくいきませんでした。)

4

7 に答える 7

37

画像の Base64 データを使用できます。このようなものを入れてください:

<link href="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAD9/f0F/Pz8DP///wD///8P////Dv///xL///8P////A////wD///8A/v7+Cf///wX///8A////APv7+wr9/f0D+/v7Dv///wb///81+vv8i/v7/Iv3+PqL4+nxi+ru9JHy9Piu5+zzru3w9ZD+/v5x/v7+H////wr///8A9/f3H/7+/g7///8J////HNDX5Pyaq8j/m6zJ/5esy/+QpcX/larK/5uwzv+MoMH/mqrG/5qlv+7Q0Nty/f3+Af///wD///8A/v7+A////wz+/v6b2d/q/4abvf+Emr7/jKHD/5Gnyf+Uqsz/fpW5/4mXuP/U1OL/e3ui+MPE0l7///8A////AP///wD///8P////Xa680/9/lrr/kafJ/5yy0/+WrM7/nbPT/52uyv+ktM7/1NTi/8LC1f+lpr3n////AP///wD///8A////AP7+/mDo7PL/ytPi/5yv0fehsuXuuMvl0Kq81drS2uf8+/z9bff3+SG5uM1r8vL1ff///wD///8A////AP///wr+/v4H/v7+jufq8umIg/Sut7L9YKul/W7PzvlMnZn03Ozq/x/+/v4H////AP///wD///8A////AP///wD///8A5OH/IpuS/pF3cfPploz/hH5y/6F/dP+gl47/gkw++e7Hwv9Fta//XPj4/gf///8A////AP///wD///8A+vn/BoyB/pGlnf5vfHfxy4mA/JlIOf/lmZD+f1lK/89kWPrPmZD+f9zY/yu3sP5ar6j/ZP///wD///8A6uj/GbSt/l6imv9yVkf/1HBm+MJ5eOrlhX/1s2JY+dRpYPfPv7/zb4+F/41WR//Uloz/hI6E/47///8A////AOro/xmnn/9teW3/qH5y/6HKxf9B9/n7Fc3N9VfMyvlQraj6cbWv/1zj4f4h2tf/Lks7/+NmWP+/0s7/OP///wCvqP9kjoT/jo6E/46Sif+I+vn/Bt3a/ypsX/+5////AH90/6Dj4f4h0Mz/OrWv/1yyq/9gkon/iNzY/yv///8A19P/MvLx/g////8A////APX0/wxvYv6119P/MtzY/ytmWP+/oZj/df///wBQQP/dt7D+Wv///wD///8A////AP///wD///8A////AKyk/2makf9+UUL/283J/z/l4/8f1dH/M////wD///8At7D+Wv39/gH///8A////AP///wD///8A////AP///wDa1/8u2tf/LtrX/y719P8M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAOAfAADgBwAA4AMAAPABAADwHwAA8d8AAPAfAADonwAA8CEAAOf5AADGvQAA/bcAAP3/AAD//wAA//8AAA==" rel="icon" type="image/x-icon" />

<head>html ファイルのセクションに挿入します。
Base64 データは、たとえばfavicon.ccで受信できます。

于 2012-10-23T15:13:32.650 に答える
6

これは何年も前から知られている問題です。あなたのコードは正しいです。Chrome または IE にリモート以外の方法でファビコンを含めることを許可する方法が見つからないと思います。

少し前に、私は多くの方法を試しましたが、どれも機能せず、この点に関するブラウザーのドキュメントを見つけることができませんでした。

<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="favicon.png" type="image/png" />
<link rel="shortcut icon" href="C:/files/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="file:///C:/files/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="file:///C|/files/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="file://localhost/C:/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="file://127.0.0.1/C:/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="file://localhost/C|/favicon.ico" type="image/x-icon" />

Chrome の場合、ファビコンはファイル : に保存されますUser\AppData\Local\Google\Chrome\User Data\Default\Favicons。ローカルのファビコンが保存されていないと推測できます。

于 2012-09-04T14:56:52.830 に答える
2

2行のコードを使用して解決したら

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

また、favicon.ico の名前を正確にこれと webroot フォルダーに保持しておくと、役立つ場合があります。

于 2012-07-05T02:50:12.133 に答える