ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で Internet Explorer v9 より前のバージョンを確実に検出するにはどうすればよいですか?

JavaScript で Internet Explorer v9 より前のバージョンを確実に検出するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-08 14:07:02376ブラウズ

How to Reliably Detect Pre-v9 Internet Explorer Versions in JavaScript?

JavaScript で IE バージョン (v9 より前) を検出する: 包括的なアプローチ

この記事では、次の代替アプローチを検討します。 JavaScript を使用した v9 以前の Internet Explorer (IE) ブラウザーの検出。元の投稿で提供されたコードは機能する可能性がありますが、特定の制限があります。より堅牢なソリューションを調査してみましょう。

ステップ 1: IE クラスのセットアップ

最初のステップは、IE のバージョンに基づいて適切な HTML クラスを実装することです。

<!DOCTYPE html>
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>    <html class="lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>    <html class="lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!----> <html> <!----><![endif]-->
<head>
...

これらのクラスはさまざまな IE バージョンを分類し、CSS または JavaScript を使用してそれらをターゲットにできるようにします。

ステップ 2: IE の検出と JavaScript の適用

使用jQuery を使用すると、古い IE ブラウザを認識し、必要なアクションを適用する JavaScript 関数を作成できます。

(function ($) {
    "use strict";

    // Detecting IE
    var oldIE;
    if ($('html').is('.lt-ie7, .lt-ie8, .lt-ie9')) {
        oldIE = true;
    }

    if (oldIE) {
        // Here's your JS for IE..
    } else {
        // ..And here's the full-fat code for everyone else
    }

}(jQuery));

懸念事項への対処

懸念事項に対処するには:

  • Useragent String Forgery: ユーザーがユーザー エージェントを偽造できる場合でも、このアプローチにより、IE ブラウザのバージョンの信頼できる指標が提供されます。
  • 機能サポート スニッフィング: 一般に機能サポートのスニッフィングが好まれますが、特定の機能がブラウザのバージョンによってサポートされているかどうかがすでにわかっているこの場合、非効率的です。
  • IE バージョン 1 または > = 20: 私たちのコードは、潜在的なリスクを認識し、これらのバージョンを「badBrowser」の検出から意図的に除外しています。
  • 条件付きコメント: IE 10 以降では条件付きコメントがサポートされていないため、

結論

この JavaScript ベースのアプローチは、v9 以前の IE ブラウザを検出する柔軟かつ正確な方法を提供します。 CSS クラスと jQuery を使用することで、ブラウザのバージョンに基づいて特定のアクションをシームレスに実装でき、より一貫したユーザー エクスペリエンスを保証できます。

以上がJavaScript で Internet Explorer v9 より前のバージョンを確実に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。