目次
IEでのみブラウザに画像が表示されない
ブラウザに画像が表示されないという連絡がありました。
しかも、すべての画像ではなく表示されるものもあるとのこと。
HTMLの記述ミスを疑いましたが、確認したところHTMLにはミスはありません。
なんせ、IMGタグで、こんな感じに書いているだけですから。
<img src="test.jpg" />
次にファイルがないのを疑いましたが、test.jpg ファイルもちゃんとあります。
確認すると、いまだにIE(Internet Explorer)を使っているユーザだったので、ひょっとして、ブラウザによって違うのかなと思って試してみると、以下のような結果でした。
- Chromeで開く => 画像はちゃんと表示される。
- Edgeで開く => 画像はちゃんと表示される
- FireFoxで開く => 画像はちゃんと表示される
- IE(Internet Explorer)で開く => 画像は表示されない。
IEの場合だけ表示されないんですね。
原因は画像ファイルにありました
画像ファイルをダンプしてみました。
XEditというプログラムを使ってみました。
すると・・。
なんだこれ!!(笑)
test.jpgという名前で、「JPG」の拡張子がついているけど、中身はPNGファイルみたいです。
ちなみに、同じ画像がJPEG形式で保存されていたらダンプはこうなるはずです。
あきらかに違いますよね。
最新のブラウザでは拡張子が間違ってても表示する
なんのことはない。
test.jpg というファイルの中身が「PNGフォーマット画像ファイル」だったわけです。
驚いたことに。
画像ファイルの拡張子と中身のフォーマットが異なっていても、今時のブラウザでは何事もなかったかのように表示するのです。
そしてこれは、ブラウザに限られたことではありませんでした。
試してみたところ、Windows10の付属アプリケーションはほぼそういう動きです。
エクスプローラでも何事もなかったように画像表示しますし、ペイントなども同じ。
つまり。
古い考え方で開発されている「IE(Internet Explorer)」だけが、拡張子と中身のフォーマットが違うので正直にエラーにしていた。
そういう話なのですね。
個人的には、今回は「IE(Internet Explorer)」の動きのほう、エラーに気付けるので好みですけど、まあ、そこが「昭和の人間」なのでしょう(笑)
どうやったら、あんな中身と拡張子の違うファイルをうっかり作成できるのか?理解に苦しみますが、おかげで、ひとつ知識が増えました(笑)
ではでは。