Hatena::Groupsubtech

ういはるかぜの化学

Saturday, April 23, 2011

[]X-UA-Compatibleが有効にならないことがあるケース 19:27 X-UA-Compatibleが有効にならないことがあるケース - ういはるかぜの化学 を含むブックマーク はてなブックマーク - X-UA-Compatibleが有効にならないことがあるケース - ういはるかぜの化学

Internet Explorerは8以降、HTTPレスポンスヘッダ(かmeta要素)にX-UA-Compatibleというフィールドをセットすることでどのバージョン(7,8,9)と同じように判定・レンダリングするか指定できる仕組みがあります。(no title)

そんなスイッチです場合によってはHTMLに間違いなく書いてあるのになぜかうまく動かないことがあります

まずはEmulateIE7を指定してちゃんと動作するケースです

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>はうはう</title>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.2.min.js"></script>
</head>
<body>
<p>document.documentMode: <script>document.write(document.documentMode)</script></p>
</body>
</html>

IE8/9などで表示するとdocument.documentMode: 7と表示され、F12 開発者ツールを表示していると「ドキュメントモード: IE7 標準」とIE7モードになっていることがわかります。F12 開発者ツールを起動したままページを開くとコンソールに以下のメッセージが表示されます

HTML1113: ドキュメント モードIE9 標準 から IE7 標準 に変更して再起動

そしてEmulateIE7を指定しても無視されて有効にならないケースです

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>はうはう</title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.2.min.js"></script>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
</head>
<body>
<p>document.documentMode: <script>document.write(document.documentMode)</script></p>
</body>
</html>

IE9で表示するとEmulateIE7を指定しているにもかかわらずdocument.documentMode: 9と表示され、「ドキュメントモード: IE9 標準」とIE9モードになってしまいます。このケースの場合、F12 開発者ツールを起動したままページを開くとコンソールに以下のメッセージが表示されます

HTML1115: X-UA-Compatible META タグ ('IE=EmulateIE7') は、ドキュメント モードが既に最終処理されたため、無視されます

ソースほとんど同じですがなぜ後者ではダメなのでしょうか。

そもそもInternet ExplorerHTMLドキュメントを解析しX-UA-Compatibleを見つけるとレンダリングエンジン最初にあるメッセージ通り「再起動」することで別なバージョンレンダリングエンジン処理できるようにします。

ところがX-UA-Compatibleを見つける前に外部リソースへのアクセス、このサンプルコードでは外部スクリプトですが、ほかにlink要素でスタイルシートを参照しているなど外部リソースへのアクセスがあるとその時点処理をせざるを得なくなるためドキュメント モードは確定となります

それが「ドキュメント モードが既に最終処理されたため、無視されます」の意味で、ドキュメント モードが変わらない理由です

処理せざるを得なくなるという意味では外部リソースへのアクセスでなくともstyle要素やscript要素が先に見つかった場合にも同様にその時点ドキュメント モードは確定します。

ということでX-UA-Compatibleを書く場合には適当に書いておくのではなくすべての外部リソースへのアクセスscript/style要素より先に、たとえばhead要素の頭かmeta charsetの次ぐらいに書くのをオススメします。

参考: Removing the IE9 Compatibility Button, and HTML1115 warning – Out Of The Box

Friday, April 15, 2011

[]Dean Hachamovitch氏のTシャツ 12:26 Dean Hachamovitch氏のTシャツ - ういはるかぜの化学 を含むブックマーク はてなブックマーク - Dean Hachamovitch氏のTシャツ - ういはるかぜの化学

Internet Explorer担当しているDean Hachamovitch氏はMIXなどのイベントで講演するたびInternet Explorerロゴ、"e" の入った単語プリントしたTシャツを着ています。つい先日行われたMIX11ではIE10についての内容があったのでそのTシャツプリントされていたのは"ten"でした

そこで今までどんなものがあったのかをまとめてみました。100ぶくま狙いましょうとそそのかされましたしね!

2005/06: Longhorn RSS (Gnomedex)

時はさかのぼること2005年、GnomedexというイベントRSSについて講演したときTシャツが "LonghornRSS" でした。まあIEロゴはないのですがこの頃から謎のこだわりがあったようです

Dean Hachamovitch talking about RSS Dean Hachamovitch's RSS shoe

なぜか靴にまで。

2006/03: seven (MIX06)

次は2006年に行われたMIX06でのときTシャツには "seven"でしたInternet Explorer 7のセッションだったようです

Mix06-42

2008/03: eight (MIX08)

2007年は見当たらなくて、次は2008年のMIX08です。今度は "eight" でInternet Explorer 8 Beta 1の公開だったようです

Dean Hachamovitch, Microsoft

2009/03: Ready! (MIX09)

次は2009年のMIX09で、"Ready!"。KeynoteInternet Explorer 8の正式リリース版を発表したときです

Dean Hachamovitch at MIX09 keynote

2010/03: nine (MIX10)

そして2010年、MIX10のKeynoteで "nine" ですInternet Explorer 9の発表自体はPDC09という時にやっていて、中間発表という感じですね。なのでこの服がネタバレだったということではないですね。

Dean Hachamovitch at MIX10

2010/09: βeauty (Beauty of the web)

次はMIX10から半年後の9月に行われたBeauty of the webというInternet Explorer 9 Betaウンチイベントで "βeauty" でした。eだけでなくBもβにかけてますね。

20110415115148

ちなみに私はBeauty of the webに参加していました

2010/10: developers (PDC10)

次は一ヶ月後のPDC10のKeynoteで "developers"。このときInternet Explorer Platform Preview 6の発表だったみたいです

Dean Hachamovitch keynotes at PDC10

2011/01: private (D@CES)

そして2011年はじめのCESで行われたイベント、D@CESときに "private"。プライバシー関係のお話だったようです

20110415120909

2011/03: SxSWest (SXSW)

2ヶ月後の2011年3月、SXSWで開かれたInternet Explorer 9パーティーで"SxSWest"。このときInternet Explorer 9のRTW(正式版)が発表になりました

Internet Explorer 9 RTW Keynote at SXSW

2011/04: ten (MIX11)

Internet Explorer 9 RTWから1ヶ月後、MIX11が開かれそのKeynoteに着てきたのが "ten"。Internet Explorer 10の発表とPlatform Preview 1の公開ですが、登壇した時点Tシャツがいきなりネタバレだったという。

MIX 2011 Keynote - Dean Hachamovitch

ちなみに文字が大きいので昔のロゴから今のロゴに変わっていることがよくわかります

というわけで

検索で見つかる範囲をまとめてみましたがもしかしたらまだ知らない何かがあるかもしれませんので情報お待ちしています。

Dean先生次回作にご期待ください。

トラックバック - http://subtech.g.hatena.ne.jp/mayuki/20110415

Friday, April 01, 2011

Mac歴5年の私がMacBook Air 11を購入してすぐにやったオススメインストール 23:09 Mac歴5年の私がMacBook Air 11を購入してすぐにやったオススメのインストール - ういはるかぜの化学 を含むブックマーク はてなブックマーク - Mac歴5年の私がMacBook Air 11を購入してすぐにやったオススメのインストール - ういはるかぜの化学

モバイルノート調子が悪くなったのでMacBook Air 11インチを整備済製品で購入しました

というわけでMacとは5年のつきあいとなる私のみんなにオススメインストールメモです

前準備

まずはWindows 7インストールします。

Windows 7のセットアップ

以下アプリインストール

あとは例によって画面のカラープロファイルOS Xから引っこ抜いてきます

これで快適なMacBook Airライフをおくれそうです。といいたいところですがThumbSenseに相当するものがなくて困ってますOS Xの時にはKeyRemap4MacBookのおまけで何とかできるのですWindowsの時にこまるという。

ちなみにエイプリルフールですがどこにもウソはないです。でもタイトル釣りです

トラックバック - http://subtech.g.hatena.ne.jp/mayuki/20110401