IE 6とIE 7のみにテキストメッセージを表示する最良の方法は何ですか?
上記の以外のすべてのブラウザでは、HTMLタグをウェブページに追加して、通常はcssで非表示にする必要がありますか?
また、IE6 IE7を使用する場合、cssでWebサイトを非表示にし、そのhtmlタグのみを表示する必要がありますか?
ありがとう
IE 6とIE 7のみにテキストメッセージを表示する最良の方法は何ですか?
上記の以外のすべてのブラウザでは、HTMLタグをウェブページに追加して、通常はcssで非表示にする必要がありますか?
また、IE6 IE7を使用する場合、cssでWebサイトを非表示にし、そのhtmlタグのみを表示する必要がありますか?
ありがとう
回答:
ブラウザによるWebサイトへのアクセスを制限するのは、100%確実な方法がないため難しいです。
最初の問題は、ユーザーエージェントのなりすましです。ブラウザは、必要なユーザーエージェントで自分自身を識別できます。拡張機能を備えたブラウザはすべて、これを簡単にするためのブラウザを持っているようです。持つ人ならばIE6またはIE7は、そのユーザーエージェントを変更 IE8またはFirefoxのそれであることを彼らがウェブサイトに取得します。
JavaScriptを使用して、機能検出を使用することでその問題を解決できます。基本的にJavaScriptを使用して簡単なテストを行います。IE6またはIE7に存在しない機能の一部が存在するかどうかを確認します。そうでない場合は、それが彼らであることがわかります。これの問題は、JavaScriptをオフにすると簡単にバイパスされることです。
多層アプローチは、ユーザーエージェント(理想的にはApacheまたはIIS)を使用してサーバー側でブラウザーのスニッフィングを行い、ブラウザーをサポートしていないことを伝えるページにユーザーをリダイレクトすることです。ところで、それは単にウェブサイトを隠すよりも礼儀正しいです。私は、JavaScript機能検出メソッドでそれを増強します。2人の間では、最も技術的に精通したユーザーを除いてすべてをキャッチしますが、いずれにせよ、IE6またはIE7を使用していない可能性があります。
条件付きCSSコメントまたはJQUERYブラウザー検出を使用:
これらを使用して、通常のコンテンツのdivを非表示にし、代替コンテンツのdivを表示するなどのスタイルを設定できます。または、JSを使用してコンテンツとその表示方法を変更します。
IE6ユーザーのすべてを削除して、更新するように指示するメッセージを表示するだけの場合は、CSSを設定して本文内のすべてを非表示にし、jquery検出でオンロードアラートをスローできます。それは厳しいですが、こっそりしたり、これを迂回しようとしない限り、ほとんどの場合は機能します。その場合、彼らはおそらくあなたがターゲットにしている人々ではありません。
これらのタイプのHTML条件付きコメントをページのHTMLソースに追加します
<!--[if IE 6]>
<h1>Hello, u r using IE6, your message here</h1>
<![endif]-->
<!--[if IE 7]>
<h1>Hello, u r using IE7, your message here</h1>
<![endif]-->
<!--[if lt IE 8]>
<h1>Hello you are using a version of IE less than IE8, your message here</h1>
<![endif]-->
上記のすべては、これらを解析してそれに応じて動作するIEを除くすべてのブラウザによって、通常のHTMLコメントのようにスキップされます。
別のコンテンツを表示するのは、IE7以下と互換性のないHTML5を使用している理由ですか?