web-dev-qa-db-ja.com

IE 6およびIE 7のみにメッセージを表示する最良の方法は何ですか?

IE 6およびIE 7のみのテキストメッセージを表示する最良の方法は何ですか?

HtmlタグをWebページに追加し、通常は上記以外のすべてのブラウザーのcssで非表示にする必要がありますか?

IE6 IE7を使用する場合、CSSでWebサイトを非表示にし、そのhtmlタグのみを表示する必要がありますか?

ありがとう

11
aneuryzm

それを行うための100%絶対確実な方法はないため、ブラウザによるWebサイトへのアクセスを制限するのは困難です。

最初の問題は、ユーザーエージェントのなりすましです。ブラウザは、必要なユーザーエージェントで自分自身を識別できます。拡張機能を備えたブラウザはすべて 1つある のように見えるため、これは簡単なことです。 IE6またはIE7がユーザーエージェントを変更した を持つユーザーがIE8またはFirefoxのユーザーになった場合、Webサイトにアクセスします。

feature detection を使用すると、JavaScriptを使用してこの問題を克服できます。基本的にJavaScriptを使用して簡単なテストを行います。IE6またはIE7には存在しない機能が存在するかどうかを確認します。そうでない場合、あなたはそれが彼らであることを知っています。これの問題は、JavaScriptをオフにすると簡単にバイパスされることです。

多層アプローチは、理想的には Apache またはIISでユーザーエージェントを使用してサーバー側でブラウザースニッフィングし、それらのユーザーをブラウザーに対応していないことを通知するページにリダイレクトすることです。ところで、それはウェブサイトを単に隠すよりも丁寧です。 JavaScript機能の検出方法でこれを強化します。 2人の間では、最も技術的に熟練したユーザーを除くすべてのユーザーをキャッチできます。

0
John Conde

条件付きCSSコメントまたはJQUERYブラウザー検出の使用:

CSS条件付きコメントへのリンク

Jqueryブラウザ検出へのリンク

これらを使用して、通常のコンテンツのdivを非表示にし、代替コンテンツのdivを表示するなどのスタイルを設定できます。または、JSを使用してコンテンツとその表示方法を変更します。

IE6ユーザーのすべてを削除し、更新するよう指示するメッセージを表示する場合は、CSSを設定して本文内のすべてを非表示にし、jquery検出でアラートオンロードをスローできます。それは厳しいですが、彼らがこっそりしたり、これを回避しようとしていない限り、ほとんどの時間で動作するはずです。その場合、彼らはおそらくあなたがターゲットにしている人ではないでしょう。

5
XOPJ

条件付きコメント を使用して、IEブラウザーのみがサポートします。

5
Evgeny

これらのタイプの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コメントのようにスキップされます。

4
Marco Demaio

それで-ie6/7から「ウェブサイトを隠す」ことを望む理由は何ですか?ユーザーエージェント固有のメッセージングの場合は、条件付きコメントに投票します。

0
folktrash

異なるコンテンツを表示するのは、IE7以下と互換性のないHTML5を使用している理由でしょうか?

0