IE上でローカルページ内のFlashやJavaScriptに警告が出る場合の対策

パソコン操作で困っている女性

いらっしゃい。ここは武器屋だ。

じゃなくて、、Internet Explorer SP2以降から採用されたスクリプト実行のセキュリティー対策のせいで、JavaScriptを使ってFlash(swf)を埋め込んだWebページで警告が出てしまう場合の対策について説明します。

IE7でも出てますから、この先ずっと採用されていくのでしょうかねぇ…

Mark of the Web (MOTW) を埋め込みましょう

いきなり結論ですが、Mark of the Web(MOTW)コードをWebページ内に埋め込みます。 以下の記述をDOCTYPE宣言の下に追加してください。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0014)about:internet -->
<html xmlns="http://www.w3.org/1999/xhtml">

ただし、ここで重要なルールがあります。

改行はCR+LFで

ええっ!?と思われたかもしれませんが、MSDNのページに書いてあります。 実際、UTF-8やEUC-JPなどの文字コードを使って改行コードをLFのみにしたりしている場合は当然無効になってしまいます。

Note The HTML comment must be properly formatted for Internet Explorer to parse the information correctly. Proper format includes inserting a space immediately following the opening delimiter ” <!– ” and just before the closing delimiter ” –> “. The line must end in CR LF. Some HTML editors only insert a LF.

ちなみにその対象の改行コードはMOTWの末尾のみでも良いです。

<!-- saved from url=(0014)about:internet -->(ここの改行だけCR+LF)
<html xmlns="http://www.w3.org/1999/xhtml">

DreamweaverでMark of the Webコードを埋め込み

ではこれまでのルールに従って、Dreamweaverで埋め込んでみます。 使用バージョンはCS3です。

まずhtmlファイルのほうですが、最近ではUTF-8の文字コードが一般的ですから、htmlファイルもUTF-8で記述してあります。

motw1.gif

次に、「編集」→「環境設定…」メニューを選んで「コードフォーマット」を選択し、改行コードを「CR LF (Windows)」にしてください。

motw2.gif

次に、「コマンド」→「Mark of the Web の挿入」を選択します。

motw3.gif

無事挿入されました。

motw4.gif

最後に環境設定の改行コードを元に戻しておきましょう。

まとめ

htmlファイルの改行コードがCR+LFで統一されている場合はいいのですが、このようにLFのみやCRのみなっている場合は別の改行コードを入れることになってしまいますので、ローカルでのテスト用と考えて挿入するのが良いと思います。 正式なアップロード時には「コマンド」→「Mark of the Web の削除」を選択して削除しておくと良いでしょう。

このページをシェアする

2008-09-15