IE6でのXML宣言の問題とSSIによる回避方法(TypePad.jp、ココログ等で利用可)
スポンサードリンク
Window IE6は、XML宣言があると、後方互換モードになって、標準準拠モードの時と挙動が変わって、他のブラウザとの表示を合わせるのが大変です。
これの対処方法としては、IE6のために、XML宣言をとってしまう方法がとられていますが、この状態でAnother HTML-lintなんかにかけると、いちいちXML宣言付けろってうるさいです。
なので、ブラウザにあわせてXML宣言をいれたり隠したりする処理を入れるやり方もあります。たいてい、ブラウザのUser-Agentを見てWindowsのIE6がきたことを認識して分岐していますので、PHPなどのサーバサイドスクリプトで可能になります。
しかし、今回は、TypePad.jpだったので、サーバサイドスクリプトは使えません。そこで、TypePad.jpはSSIが有効になっていることを利用して、SSIでXML宣言を入れたり隠したりする方法をとってみました。
<!--#if expr="$HTTP_USER_AGENT != /MSIE 6.0/ || $HTTP_USER_AGENT != /Windows/ " --><?xml version="1.0" encoding="UTF-8"?> <!--#endif --><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> ~ </html>
実際のTypePad.jpの編集画面ではこんな感じで(加工しています)。いまどきのTypePad系のテンプレートであれば、テンプレートモジュールのhead-commonをいじることになると思います。
▲TypePad.jpでの編集画面
ちなみに、TypePad.jpだけではなく、ココログプロでも動くことを確認しています。おそらく、TypePad ASP [www.sixapart.jp] で動いているところならできると思います。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/2571
コメントする