使用しているブラウザーとブラウザーのバージョンに応じて、ユーザーを別の Web ページにリダイレクトしたいと考えています。
これは、単純な JavaScript コードと、パラメーターを使用した PHP で実行できることを知っていHTTP_USER_AGENT
ます。ただし、どちらの方法も、javascript を無効にするか、user_agent を手動で変更することで回避できます。
私の質問は次のとおりです。クライアントが回避する機会を与えないリダイレクト方法はありますか?
使用しているブラウザーとブラウザーのバージョンに応じて、ユーザーを別の Web ページにリダイレクトしたいと考えています。
これは、単純な JavaScript コードと、パラメーターを使用した PHP で実行できることを知っていHTTP_USER_AGENT
ます。ただし、どちらの方法も、javascript を無効にするか、user_agent を手動で変更することで回避できます。
私の質問は次のとおりです。クライアントが回避する機会を与えないリダイレクト方法はありますか?
あなたの最善の策は、ユーザー エージェントをチェックし、「このページは移動しました」というメッセージ以外に意味のあるコンテンツを本文に含まない301 移動された永続的なリダイレクト ヘッダーを発行することです。ブラウザはそれに従うか、空のドキュメントをレンダリングします。重要なことは、ユーザー エージェント文字列はオプションであることを認識することです。サイトを使用する上で、ユーザー エージェント文字列を必須の部分にすることは絶対に避けてください。
あなたの態度は、インターネットの性質全体に反するものであることに注意してください。ユーザーのブラウザに強制的に何かをさせる方法はありません。すべての動作は完全にオプションであり、ユーザーは自由に Web サイトまたは Web サイトの一部を取得し、送信されたデータをプログラムで処理できます。
簡単な答え:いいえ
これにより生活はずっと楽になりますが、ブラウザーはユーザーのプライバシーを Web サイトビルダーの欲求よりも重要にします.
あなたができる最善のことは、Web サイトを可能な限り下位互換にすることです。
私が通常遭遇する唯一の原因は、6 から 10 までのさまざまなバージョンの IE であり、すべて異なるスタイルシート ルールが必要です。
私は単に頭の中で使用します
<head>
<!--[if IE 6]>
<link rel="stylesheet" href="ie6.css">
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" href="ie7.css">
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" href="ie8.css">
<![endif]-->
<!--[if IE 9]>
<link rel="stylesheet" href="ie9.css">
<![endif]-->
<!--[if IE 10]>
<link rel="stylesheet" href="ie10.css">
<![endif]-->
クライアントと通信するのは、回線を介したテキスト文字列のみです。クライアントが実際のユーザー エージェントを伝えたくない場合、それについてできることはあまりありません。