IEのQuirksモード


HTML5の導入も兼ねて、サイトをリニューアルしました。
ローカルで動作確認した後、サーバのファイルを置き換えたところ、IEでの表示が崩壊。
テンプレートを弄っても直らないので、IE9の開発者ツール(F12)で確認したところ「HTML1113: ドキュメント モードを IE9 標準 から Quirks に変更して再起動」という警告がコンソールに表示されました。

a-blog cmsのメンテ用コメントが裏目に

さらに原因を探すために、おなじみW3C Markup Validation Serviceでチェックをかけたところ、こちらでも警告がでました。

Line 1, Column 70: Comments seen before doctype. Internet Explorer will go into the quirks mode.

「ドキュメントタイプの前に何か入ってる。これだと、IEでQuirksモードになるよ」とのこと。
何かを入れた記憶が無いのでブラウザでソースを確認したところ、なんとHTMLの先頭に入れた覚えのないコメントが…。
どうやら、a-blog cmsが、ファイルをインクルードした際に入れてくれた「このファイルをインポートしたよ」というコメントが悪さをしていたらしい。
CMSを使う場合は、共通のパーツなどを外部ファイル化してインクルードすることでメンテナンス性をあげますが、今回ももちろんそれをしていて、head部分も外部ファイルにしていました。

a-blog cmsが出力するHTMLからコメントや無駄な空白を消す

a-blog cmsは、コンフィグで、コメントや余分な空白を消して出力することができます。
設定は、管理画面上部メニューより「カスタマイズ管理>コンフィグ一覧>出力設定」にあります。



これで、無事表示が元に戻りました。
一行目がDOCTYPE宣言で始まらなければならない、というのは、IE6からありましたね。
互換といえば、褒めるべきところなのかもしれませんが、ビジネスユーザーが多いせいか、Microsoftはホントに上位互換主義ですね。Appleなんて、ハードウエアの仕様からバッサリ切り捨てていくのに…。
Windows版のMOSAICをダウンロードしてWindows7で起動したら、通信はできませんでしたが、動いてビックリしました。


タグ:html5 InternetExplorer a-blog_cms