Internet Explorer 8 RC1 リリースと対策

| コメント(0) | トラックバック(0)
 Internet Explorer 8 (IE8) のRC1(Release Candidate 1)リリースです(ダウンロードはここから)。

 Windows 7 に付属していたIE8のバグを修正した新しいバージョンです。 RC1のバージョンは、8.0.6001.18372 ですので、Windows7用 IE8 (8.0.7000.0)より古いように思えますが、マイクロソフトもWindows7用IE8よりRC1のほうが新しいとIE8ブログで紹介しています。実際Windos7用 IE8では表示できなかったGoogle Analytics が表示できるようになっています。モード指定無しのデフォルト動作もRC1でやや改良されています。

 システム提供側にとってIE8のユーザインタフェース変更以上にインパクトが大きいのが、Webページ表示機能の変更です。IE 7で使われている既存の(Microsoft独自の)レンダリング・モードではなく、Web標準(W3C)に準拠したモードがIE8が登場しています。

  W3C準拠になっていることは、acid2テストページをIE8で表示してみてください。IE8では素直に表示されます。 IE8の「ツール」メニューで、.webstandards.org を互換表示で表示するサイトに追加すると、W3C準拠のIE8モードからIE7モードに切り替わり、IE7以前のIEと同様acid2テストページが、化けます。
 レンダリングモードが切り替わっているのは、http://www.konure.com/misc/ua_prop.html で確認できます。document.documentModeの値が7ならIE7、8ならIE8モードで動作しています。

 しかし、W3C準拠モード以外にも、IE8には、以下の6つのモードがあります。 コンテンツの制作者は、要注意です。
ernet Explorer 8 の表示モード

    ○ IE8 モード: W3C CSS2.1 http://www.w3.org/TR/CSS21/ 準拠
    ○ IE7 モード:IE7のスタンダードモードと同様
    ○ IE5 モード: quirksモード(いわゆる互換モード)。IE5に近い表示
    ○ Emulate IE8 モード:
    ○ Emulate IE7 モード:<!DOCTYPE> ディレクティブ
    ○ Edge  モード:最高のモード(現時点ではIE8モード)を指定

Webサイトの Internet Explorer 8 の対応・対策
 IE7以前を前提に作ったサイトは、想定外の表示になってしまうかもしれません。
 W3C準拠ではないWEBページではあるが、IEで見る場合なんとか表示されるページをIE8で表示してみました。 
ie8rc1-modes.gif 右の図は、9種のWEBページをIE8 RC1で表示した際のサムネイル画面です。乱れず表示されたのは、以下の4ケース
○ モード指定なし
○ IE5モード指定
○ Emulated IE7モード指定
○ Emulated IE8モード指定
Emulatedモードは、ブラウザ側でIE5モードに遷移している。IE5モードでレンダリングされて表示されました。
 しかし、<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
を宣言すると、Emulated IE7モードもEmulated IE8モードも、IE7と同じ化け方になります。
 さらに、上記DOCTYPEを宣言し、何もモード指定をしない場合も化けます。

 予防策は、IE8に備えてIE7モードやIE5モードを指定しておくなどの対応をするとだとう思われます。この図にある9種類のページは下記からアクセスできます。

 ドキュメント先頭に<!DOCTYPE>を標準どおりに記述するとEmulate モードが化けるようになります。
 これは、DOCTYPEの記述が<!DOCTYPE HTML PUBLIC "-//W3C// ・・・ となっているとMicrosoft仕様ではなく、W3C仕様で表示するためです。

 こったデザインのページほど、影響を受ける可能性大です。IE8のデフォルトがIE8モードですので、現在のコンテンツがW3C仕様のIE8でも問題が無いか確認し、問題があれば修正するという作業をサイト管理者や開発者に強いることになります。

サーバー側でのモードの指定方法
 モードの指定は、WEBページのヘッダで metaタグを使って、"X-UA-Compatible"でcontent の属性で指定します。contentは、IE=EmulateIE7、IE=5、IE=7、IE=8、IE=edgeを指定します。
Emulate IE7 モードを指定する場合は、
<html>
 <head>
  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
  ヘッダ
 </head>
 <body>
    コンテンツ
 </body>
</html>
という感じになります。"X-UA-Compatible"は、ヘッダの先頭(title 要素およびその他の meta 要素以外のすべての要素の前)に書く必要があります。

  現在のブラウザがどのモードになっているかは、document.documentMode で知ることが出来ます。IE5モードを指定すると、モードが8ではなく、5と表示されます。


Windows 7 ベータ版付属のInternet Explore 8と、RC1の違い(改良点)
 Windows 7用IE8 と RC1 では動作が異なっています。、モード指定が無い場合の動作がRC1で改良された結果だと思います。
 ホワイトハウスのページのプルダウンメニューが、W7版IE8では消えずに残るのがRC1では正常に動作します。Google AnalyticsのグラフもW7版IE8では表示できませんでしたが、RC1では正常に表示されます。

 IE8は、独善を悔い改めたMSが、W3C準拠に変更した初の製品になります。しかし、W3Cに準拠しないブラウザをリリースし続けたMicrosoftは、 IE8のデフォルトを旧版のIEと互換性の高いものにする責任があるように思います。IEだけで表示を確認していたサイト(IE7べったりのサイト)は、IE8になっ てW3C準拠だからといって仕様を変えられると、はしごを外されたようなものです。

 独善的なMicrosoftのIE仕様に、悩んだり慣れたりした結果、IEで正しく表示されればW3Cに準拠していなくもOK(他のブラウザは無視)といった対応でも 済ませている方も多いかと思います。IEのシェアが9 割以上の時代ならそれも許されたでしょうが、昨今シェアは7割を割っています。 ブラウザが多様化すると、標準であるW3C準拠のコンテンツであることは重要です。W3Cに準拠さ せるためのプロジェクトIE7-jsというプロジェクト があったりします。W3Cに準拠したページかどうかは、W3Cのサイト http://validator.w3.org/ でチェックできます。

 とはいえ、IE8での表示/動作確認作業、IE8に対応でモード指定やW3C準拠をする作業や、利用者に「互換表示で表示するサイトに追加」してくれるよう周知することには手間(コスト)がかかります。
 マイクロソフトは、利用者(含コンテンツ作成者)のことを考えないと、IEのシェアが下がり続けてしまうのは判っているからこそ改良を続けRC1はW7版より改良されたのでしょう。12月のブラウザのシェアは、以下のような感じです。IEのシェアは7割を切っています。














 




NetApp調べ




このブログ





IE




68.2%




49.7%





Firefox




21.3%




22.7%





Safari




7.9%




3.3%





Chrome




1.0%




5.2%





Opera




0.7%




1.6%






IE  8への自動アップデート防止ツール
 なお、マイクロソフトは、IE8もWindows Update 及び Microsoft Update による自動配布をする予定だそうですが、自動更新によるIE8インストールをブロックするツールも配っています。Internet Explorer 8 のブロッカー ツールキットは、終了期限がなく、ずっとブロックし続けるので、IE8をインストールしたくなったら、手動でURLから落としてくるしかないそうです。

トラックバック(0)

トラックバックURL: http://www.konure.com/mt4/mt-tb.cgi/285

コメントする

最近のブログ記事

SORACOM,HLR持ちeSIM対応
SORACOMが自前のHLRを持ち、自…
準天頂衛星4機体制に
h2{ font-size:12…
Windows 10 mobile終了
Windows 10 mobileの新機…
カスタム検索

月別 アーカイブ