Home > ホームページ制作 > IE6でXML宣言が使えない

IE6でXML宣言が使えない

サイトを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は、環境に応じて変える必要があります。

Comments:0

コメントフォーム

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Trackbacks:0

TrackBack URL for this entry
http://blog.non-style.com/mt/mt-tb.cgi/8
Listed below are links to weblogs that reference
IE6でXML宣言が使えない from Webプログラマの苦悩

Home > ホームページ制作 > IE6でXML宣言が使えない

Links
Search
Feeds
Tag Cloud

Return to page top