tsukalogo0000
alt
IE6でのXML宣言の問題と回避方法

Internet Explorer6は、XHTMLの <!DOCTYPE...宣言よりも前に文字やスペースがあると、古いブラウザ用の表示モード(互換モード)になってしまいます。この不具合は、サイトの表示が崩れる大きな原因にもなります。IE 6で互換モードになってしまうと、CSSで指定したwidthプロパティやheightプロパティの解釈が変わってしまうのです。この問題を避けるため、 XML宣言をしないサイトも多いようです。
そこで以下のコードを、テーマファイルに書き込みます。header.phpの一番最初にペーストすればOKです。<?php と ?>の前後に、余計なスペース・改行などは入れない様に…。

<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
if (!(ereg("Windows",$ua) &amp;&amp; ereg("MSIE",$ua)) || ereg("MSIE 7",$ua)) {
echo '' . "\n";
}
?>

上記のコードは、訪問者のブラウザがWindowsのIE以外だった場合に、XML宣言をするようになっています。ただし、XML宣言の不具合はInternet Explorer7.0bでは直っているそうなので、その場合の処理も書きました。
●参考/BirDesign
この前FirefoxがやっとIE6を市場シェアを抜けて一位になった記事がありました。(Firefox>IE6>IE7>IE8の感じかなトータルではもちろIE全体がまだトップ)IE6はもう早く下がってほしい
●参考/jQuery Browser Pluginも要検討。
このHPでは問題ないがトップページの視覚効果も含めiphoneの自動切り替えも導入していきたい
●参考/CSS以外のiPhoneへの自動切り替え振り分け方法

 

ADD_YOUR_COMMENT

YOURALIAS:
YOUREMAIL:
YOURLINK:
タイトル:
FULLTEXT: