M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2008年8月21日 23:45

IE6でのXML宣言の問題とSSIによる回避方法(TypePad.jp、ココログ等で利用可)

このエントリーをはてなブックマークに追加 mixiチェック

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をいじることになると思います。

Typepadxml3
▲TypePad.jpでの編集画面

ちなみに、TypePad.jpだけではなく、ココログプロでも動くことを確認しています。おそらく、TypePad ASP [www.sixapart.jp] で動いているところならできると思います。

投稿 大野 義貴 [TypePad] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/2571

コメントする