Mark of the Web


今回はなかなかマニアックなネタでいきたいと思います。

今の仕事を始めて知ったことです。
Web制作に関わっている人,個人でWebサイトを制作している人などには役に立つ内容かもしれません。
Web制作に興味がない人が見てもおもしろくもなんともないと思います(^^;

Mark of the Web…直訳すると「Webのマーク」。
ホームページを制作している際に(X)HTMLだけでは不可能な動きをつけたい場合にJavaScriptというスクリプト言語を使用します。
ローカル(自分のPC)でWebサイトを作成していて,そこにJavaScriptを使用してブラウザ(IE)で確認しようとしたときに
このような表示を見たことありませんか?

これはWindows XP SP2(Service Pack2)からIEのセキュリティ性能が向上し,JavaScriptなどを含むアクティブコンテンツをブロックする機能です。

ローカルでテストのためにその都度この画面が出ていてはうっっとうしことこの上ないので,何かこれを出さない方法はないものか?これを閲覧者側に手間をかけさせることなく制作者側で設定できないものか?と探して見つけたのが「Mark of the Web」という手法です。
閲覧者側ではインターネットオプションで設定を変えられるのですが,これはあくまで閲覧者側の設定なので制作者側でいじることはできません。

HTMLファイルの先頭2,048バイト以内に「saved from url=」を含むコメントがあるとIEはセキュリティゾーンの変更を検討します。
使い方としては,<HTML>タグの前…つまり基本DOCTYPE宣言のあとに「saved from url=」を記述します。
<!– saved from url=(0014)about:internet –>
これでインターネットゾーンと同じ扱いになり,ローカルでJavaScriptを含むHTMLファイルを表示しても上記の警告は表示されなくなります。
※(0014)は以下に続く文字の文字数を指定。(about:internet=14文字)
※about:internetでローカルゾーンからインターネットゾーンに変更している。http:から始まる通常のWebサイトも記述できますが,この書き方さえ知っていればローカルで警告なしでJavaScriptを含むHTMLが見られます。


ただし!!
欠点もあります。欠点というかもう罠に近いですね。
Mark of the Webを使用すると使用しているHTMLファイルから相対パスで指定しているファイルにリンクで飛べない。
httpから始まる外部へのリンクは通常どおりなんの問題もなく飛べます。

この「Mark of the Web」はInternet Explorer独自の機能です。FirefoxやOperaではこの記述なしでも見られます。
ただ,Webサイトを制作している場合はシェアの多いIEを無視することはできないので知っておいても損はないでしょう。
カテゴリー: 小言(雑記)   パーマリンク

1件のコメント

  1. msx
    サイトはhttp://www.adobe.com/svg/demos/cml2svg/html/ethnl_tp.html

    で、アドビのSVGのデモサイトです。
    saved from url=だけではなく、META content=”MSHTML 6.00.2900.3199″ name=GENERATOR
    もゾーンの判定に関連しているようです

    上はファイル>名前を付けて保存で、保存したもの。下はソースの表示をコピー&ペーストしたもの、つまり、Temporary Internet Filesからサルベージしたものです。

    元の言語コードはcharset=iso-8859-1ですが、
    編集の過程でUTFに変更しましたが現象は再現されました。

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    インターネットゾーンになる

    ————————————————————
    ファイル名:ethnl_tp.htm
    ————————————————————

    molecule model


    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    マイコンピューターゾーンになる

    ————————————————————
    ファイル名:molecule.html
    ————————————————————

    molecule model

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください