- 2006年9月30日 01:32
- ホームページ制作
サイトをXHTML化しようと思い、Another HTML-lint gatewayを利用して、XHTMLへの変換作業を行ってたら、Firefoxは正しく表示されるのに、Internet Explorerがどうにもうまくいかない。
いつもどおりググって見ると、IEのバグだとか。
今日に始まった話じゃないんだろうけど、ふざけんなって感じ。
IEは、<!DOCTYPE...宣言よりも前に文字やスペースがあると、古いブラウザ用の表示モード(互換モード)になってしまうらしい。
対策は、XML宣言を外す他ないという。
という事で、IE6の場合に、XML宣言を外すスクリプトをPHPで作成した。
<?php $ua = $_SERVER['HTTP_USER_AGENT']; if (!(ereg("Windows",$ua) && ereg("MSIE",$ua)) || ereg("MSIE 7",$ua)) { echo '<?xml version="1.0" encoding="Shift_JIS"?>' . "\n"; } ?>
※ encodingは、環境に応じて変える必要があります。
- Newer: Movable Type 3.33 のインストール
- Older: Google Analytics HTTPSなページで警告