診断士の経営視点とSEのシステム技術の両面からIT・システム開発・Web技術+アウトドア情報を提供しています

トップブログでつくるビジネスサイト無料ブログでここまでできるCMSでつくるビジネスサイトウェブ講座&SEOシステム開発個人情報保護Googleでお仕事信州撮っておき情報








スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[--------] スポンサー広告 | |

泣く子とIEには 

IMGP2545

IE6とIE7の問題

昨日は松本ソフト開発センターでの講習だった。XHTMLを一つのテーマとして取り上げたのだが、講習後早速XHTMLの問題、というよりブラウザの問題、というよりIEの問題でのご相談があった。

これまでIE6で問題なく見えていたページだが、IE7で見ると文章やタイトルが横にはみ出してしまうということだ。

IE6の有名なバグであるXML宣言による後方互換モードに関連する問題だ。

XML宣言を書くとIE6は後方互換モードに

確認してみるとXHTMLの冒頭にXML宣言が書かれている。文字コードがeuc-jpなのでXML宣言は必要だ。ところがこのXML宣言によってIE6はIE5.5として動作してしまう。これが後方互換モードと呼ばれるものだ。これはマイクロソフトのバグなのだが、泣くことIEには勝てない、ウェブ制作者は仕方なくIEの解釈にあわせてXHTMLとCSSを調整してきた。

IE7はXML宣言があっても標準モード

IE7ではXML宣言があっても後方互換モードにはならない。標準モードとして動作する。標準とはいえ、まだまだ数えきれないくらいの独自解釈(つまりバグ)が残っており、とてもウェブ標準とは程遠い代物なので、あくまでIE7が考える標準モードだが、とにかく後方互換モードとは違う動作(解釈)となる。

後方互換モードの代表例がwidth(幅)の解釈の誤りだが、IE7標準モードでは一応標準的な解釈になっているようだ。そうなると、後方互換モードにあわせててウェブ制作者が泣く泣く記述した箇所が問題を生むことになる。今回の場合、IE6の後方互換モードに解釈にあわせて調整していた部分 正常に?解釈されることではみ出してしまうのだ。

IE8の登場で事態はさらに複雑に

widthに限らず、IE7の標準?モードによって引き起こされる問題は他にもあるだろう。さらにIE8が登場したことによって、問題はいっそう複雑化している。後方互換モードといわれるIE5.5時代のバグ、IE6標準モードのバグ、IE7で解決されなかった残存バグとIE7で新たに出現したバグ、それにIE8が加わったわけだ。いちいち対応していたら、ページを作るより、IEのバグに対応する方が工数がかかってしまう。

最も手っ取り早い対策は

そこで、IE7,IE8の標準?モードで表示が乱れる問題への手っ取り早い対応として、IEはすべて後方互換モードで動作してもらうということにした。なまじ標準といいながら、バグを残しつつ新たなバグを振りまいているIEにはいちいち対応しきれない。IE6,IE7,IE8の後方互換モードもそれぞれ固有あるいは共通の問題があるかもしれないが、この際、まとめてIE5.5として動作していただくのが一番だと考えたわけだ。

IE7,IE8を後方互換モードに

IE8は meta要素により、いろいろなモードで動作できる。meta http-equiv="X-UA-Compatible" content="IE=emulateIE7"

IE7には、そのような機能がないので、IE7,8共通の対応として DTDをHTML時代のものに変える ということにした。

XML宣言は標準の通り先頭行に記述する。これでIE6は後方互換モードになる。

2行目のDTDを 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd>から
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
に変更すれば、IE7,8も後方互換モードで動作してくれるようだ。

時間と手間をかけずにIEに対応する

もちろん、IEのいかなるモードであっても乱れない表示のXHTML・CSSを作ることがベストだと思うが、他人が作ったページや古いページに抜本的な対応を施すのには手間と時間がかかってしまう。

これは後方互換モードで問題なく表示されていた従来のページを活かしつつ、現在の状況に対応するための、手っ取り早い対応にすぎない。しかし、IE7,8でもなんとか表示を維持するためには、使える手ではないかと考えている。


[2009-08-21] ウェブ講座&SEO | TB(0) | CM(2)

即効 解決しました。

こんばんは

さっそく解決して下さってありがとうございます。
IE7で見て下さる方が多くなっていました。
来訪者の方にはご不便をおかけしていたんですね。
佐藤先生のお陰で助かりました。

ほかのブラウザを検討中、FirefoxかOperaを試そうかと。
[ 編集 ] [2009/08/22 20:46]

よかった よかった

こちらでもIE7で確認しましたが、問題なく表示されています。よかった、よかった。

おかげさまで、IEの独自解釈(バグ)による影響を説明する格好の事例となりました。
[ 編集 ] [2009/08/26 10:51]

コメントの投稿













管理者にだけ表示を許可する

トラックバック

この記事のトラックバックURL
http://wiz2.blog16.fc2.com/tb.php/465-308eb58b








トップブログでつくるビジネスサイト無料ブログでここまでできるCMSでつくるビジネスサイトウェブ講座&SEOシステム開発個人情報保護Googleでお仕事信州撮っておき情報
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。