IEは、「image / x-icon」として提供されていない場合、HTMLで.icoアイコンを表示しません
-
10-07-2019 - |
質問
< img />
要素として、リストにWebサイトのファビコンを表示しています。
いくつかのウェブサイトはそれらを提供します:
<link rel="icon" type="image/x-icon" href="favicon.ico" />
その他のサービス:
<link rel="shortcut icon" href="favicon.ico" />
IE は、 type =&quot; image / x-icon&quot; を持たない画像のfavicons画像を表示しません。
ウェブサイトがどのようにファビコンを提供するかを制御することはできないので、私は側から何ができますか?
解決
最善の方法は、それらを別の形式に変換することだと思います。アイコンを手動で表示している場合は、それぞれをダウンロードして画像プログラムで変換し、サイトにアップロードできます。
自動的に実行する場合は、サーバー側で使用する画像処理ツールをすべて調べる必要があります。 PHPを使用している場合は、 GD または ImageMagick ライブラリ。たとえば、PNGに変換して、サイトにキャッシュするだけです。
IEが.icoファイルをページとインラインで表示しない場合、何らかの処理を行わなくても表示できるようになることはまずありません。最も単純なレベルでは、外部イメージを読み取って、変換せずに適切なMIMEタイプとして提供できます。
他のヒント
これをapache configまたは .htaccess
ファイルに追加します:
AddType image/x-icon .ico
残念ながら、私が抱えている問題を解決することはできません。 IEはリンクのリストにすべてのfavicon.icoを表示できません( http://www.jerbils.info/wxlinks .php )に対して、他のすべてのブラウザーは(つまり、存在するすべてのfavicon.icoを表示します)。興味深いことに、IEでドメインのfavicon.icoを手動で表示すると、IEでは表示されず、他のすべてのブラウザーで表示されるものは、画像ではなくテキストコンテンツとして表示されます。その意味は、IEが気に入らないファイルについて何かがあり、その結果、デフォルトのアイコンが表示される原因となるonerror条件を生成しているということです。