IE や Edge で HTML ファイルがうまく表示されない場合
概略
Web ブラウザから保存した HTML などのファイルで、 Chrome や Firefox では正常に表示されるのに、IE や Edge では正常に表示されないファイルがあったときに確認してください。
(追記 2024/01) Windows10, Edge120 では下のようなトラブルが起こらず、HTML や JavaScript が正常に実行されます。 Zone ID のチェックしなくなったようです。
Web ブラウザで保存した HTML ファイルが、IE や Edge で正常に動作しない場合がある
Web ブラウザで保存した HTML, CSS, js などのファイルを ローカルで Web ブラウザに表示するときに、 Chrome や Firefox では正常に表示されるのに、 IE や Edge では下のようなトラブルが起こることがあります。
- 存在するはずの CSS ファイルや js ファイルが読めない
- ローカルファイルへのリンクが機能しない
IE や Edge で保存した HTMLファイルをWebブラウザで表示すると、
セキュリティの保護機能が働いてローカルファイルが読めません。
この原因はファイルの ゾーン識別子 (ZoneID) が関係しています。
HTML ファイル、CSS ファイル、js ファイルのプロパティを見ると分かります。
HTML が正常に動作しない例
・ファイル 1.html と 1.css があり、1.html が link href="1.css" で 1.css を読んでいるとします。 1.html が Edge でダウンロードしたファイル、1.css がローカルで 作成したファイルの場合 (html と css で ZoneID が異なる場合)。 1) 1.html は 1.css を読まない。 2) 1.html からローカルのファイルに href= や src= のリンクがあっ ても機能しない。
HTML を正常に動作させるには?
Windows10 の場合
ダウンロードした zip ファイルや HTML ファイルのプロパティを開き、 「セキュリティ:このファイルは他のコンピュータから取得したものです。 ・・・」 の項目がある場合は保護機能が働いています。 「許可する」にチェックすると保護機能が解除され、 HTML が正常に動作します。
Windows7 の場合
セキュリティの項目がある場合は保護機能が働いてします。 「ブロックの解除」のボタンを押すと保護機能が解除されます。
Windows のファイルのゾーン識別子 (ZoneID)
Web ブラウザで HTML ファイルなどを保存すると、 ファイルに ゾーン識別子 (ZoneID) と呼ばれる情報が付き、 IE や Edge では ZoneID の異なるローカルファイルへの リンクなどの機能が働かないように制限されます。 Chrome や Firefox では ZoneID をチェックしていないので、 ネットから保存した HTML ファイルや CSS ファイルや js ファイルでも正常に動作します (Windows7 の話)。
関連
- Windows: プログラムを実行するきに出る警告ダイアログをなくす
- @IT:Windows 10で、ダウンロードしたファイルのブロック設定を解除する (2016)
- ASCII:インターネットからダウンロードしたファイルはZone.Identifierでセキュリティ管理をする (2017)