私はphpにかなり慣れていないので、我慢してください:)
get_user_browserPHP の関数を使用して、ユーザーを別の HTML ページに誘導できる Web ページを作成しようとしています。
私のウェブサイトはhttp://www.danabohne.comですが、IE ではほとんど表示されないことに気付きました。これを回避する別の方法がない限り、IE ユーザーが見ることができる別の静的 HTML サイトを作成したいと考えています。
どんなフィードバックでも非常に役に立ちます!
私はphpにかなり慣れていないので、我慢してください:)
get_user_browserPHP の関数を使用して、ユーザーを別の HTML ページに誘導できる Web ページを作成しようとしています。
私のウェブサイトはhttp://www.danabohne.comですが、IE ではほとんど表示されないことに気付きました。これを回避する別の方法がない限り、IE ユーザーが見ることができる別の静的 HTML サイトを作成したいと考えています。
どんなフィードバックでも非常に役に立ちます!
まず、サーバー上でのブラウザー検出は推奨されないことに注意することが重要です。これは、ブラウザーが偽のユーザー エージェントの詳細を提供したり、まったく提供しない可能性があるためです。(http ヘッダーからこの種のデータを日常的に削除するファイアウォール製品をいくつか知っています)。
次に、このget_user_browser機能は有効なファイルがある場合にのみ機能しbrowsecap.iniます。この関数が機能しない場合は、この ini ファイルがあり、最新のものであることを確認してください。(また、新しいブラウザーまたはブラウザーのバージョンがリリースされるたびに、更新を維持する必要があることに注意してください)。
最後に、ほとんど (事実上すべて) の IE 固有の表示の問題は、IE 用に別のページを作成しなくても解決できます。
特にあなたの場合、あなたのページの HTML ソース コードを見ると、問題が何であるかがすぐにわかります。
問題は、<pre></pre>コードの最初の行の の直前にある<!DOCTYPE>です。これは、適切に削除されていないデバッグ コードの残り物だと思います。
これ<pre></pre>により、IE は "quirks モード" に陥り<pre>ます。Doctype がない場合、IE はページが quirks モードであると想定します。
Quirks モードでは、IE のレンダリング エンジンがページをまったく異なる方法で表示します (基本的には IE5 下位互換モードです)。
この動作は、IE のすべてのバージョンで同じです。
IE 固有の問題が他にもある場合は、IE をより適切に動作させるためのツールやハックがたくさんあるため、ページでそれらを修正することをお勧めします。
それが役立つことを願っています。
<?php
$useragent = $_SERVER['HTTP_USER_AGENT'];
if( strpos($useragent,"MSIE 6.0") ) {
header("Location: http://google.com");
}
?>
if必要に応じて条件を追加できます。
ただし、ジョンがコメントで述べたように。別のページにリダイレクトするのではなく、別のスタイルシートを作成してフォールバック デザインを作成することをお勧めします。