JavaScriptを使用してInternet Explorer(IE)とMicrosoft Edgeを検出するにはどうすればよいですか?

user5171952:

私は何度も調べましたが、Internet Explorerを検出する方法はたくさんあることを理解しています。

私の問題はこれです:私のHTMLドキュメントには、クリックすると、あらゆる種類のInternet Explorerと互換性のないJavaScript関数を呼び出す領域があります。IEが使用されているかどうかを検出したい場合は、変数をtrueに設定します。

問題は、Notepad ++からコードを作成していて、ブラウザーでHTMLコードを実行するときに、IEを検出するためのメソッドが機能しないことです。問題はNotepad ++が不足していることだと思います。IEを検出できるようにする必要があるので、変数に基づいて、サイトのその領域を無効にできます。私はこれを試しました:

var isIE10 = false;

if (navigator.userAgent.indexOf("MSIE 10") > -1) {
    // this is internet explorer 10
    isIE10 = true;
   window.alert(isIE10);
}

var isIE = (navigator.userAgent.indexOf("MSIE") != -1);

if(isIE){
    if(!isIE10){
    window.location = 'pages/core/ie.htm';
    }
}

しかし、それは機能しません。Notepad ++からIEを検出するにはどうすればよいですか?それが私がHTMLをテストしているものですが、それで動作するメソッドが必要です。

編集する

誰かがこれを重複としてマークしたことに気づきましたが、それは理解できます。私ははっきりしていなかったと思います。私はJQueryの回答を使用できないため、これは重複したJSの回答を求めているので重複ではありません。

#2を編集

Microsoft Edgeブラウザーを検出する方法もありますか?

skribbz14:

理由はわかりませんが、他の人が話しているようにuserAgentに「エッジ」が表示されないので、一部の人に役立つ可能性のある別のルートをとる必要がありました。

navigator.userAgentではなく、navigator.appNameを調べて、IE <= 10かIE11およびEdgeかを区別しました。IE11とEdgeは「Netscape」のappNameを使用しますが、他のすべての反復は「Microsoft Internet Explorer」を使用します。

ブラウザーがIE11またはEdgeのいずれかであると判断した後、navigator.appVersionを調べました。IE11では文字列がかなり長く、多くの情報が含まれていることに気付きました。Edgeのnavigator.appVersionには含まれていない「Trident」という単語を任意に選びました。この単語をテストすることで、この2つを区別することができました。

以下は、ユーザーが使用しているInternet Explorerの数値を返す関数です。Microsoft Edgeの場合は、数値12を返します。

がんばって、これが役に立てば幸いです!

function Check_Version(){
    var rv = -1; // Return value assumes failure.

    if (navigator.appName == 'Microsoft Internet Explorer'){

       var ua = navigator.userAgent,
           re  = new RegExp("MSIE ([0-9]{1,}[\\.0-9]{0,})");

       if (re.exec(ua) !== null){
         rv = parseFloat( RegExp.$1 );
       }
    }
    else if(navigator.appName == "Netscape"){                       
       /// in IE 11 the navigator.appVersion says 'trident'
       /// in Edge the navigator.appVersion does not say trident
       if(navigator.appVersion.indexOf('Trident') === -1) rv = 12;
       else rv = 11;
    }       

    return rv;          
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

IEおよびEdgeブラウザーを検出するにはどうすればよいですか?

分類Dev

Microsoft Edgeがインストールされているかどうかを検出するにはどうすればよいですか?

分類Dev

ExpandoObjectとDynamicObjectを検出するにはどうすればよいですか?

分類Dev

'--help'が呼び出されたことを検出するにはどうすればよいですか?

分類Dev

画面JavaScriptでタッチがないことを検出するにはどうすればよいですか?

分類Dev

Kentico v9ユーザーがJavaScriptを使用してCMSデスクにいることを検出するにはどうすればよいですか?

分類Dev

IE11以降を正しく検出するにはどうすればよいですか?

分類Dev

jQueryでIE 8を検出するにはどうすればよいですか?

分類Dev

Explorer Searchで#を検索するにはどうすればよいですか?

分類Dev

送信されたボタンをajaxとphpで検出するにはどうすればよいですか?

分類Dev

javascriptを使用してtextarea値が変更されたことを検出するにはどうすればよいですか?

分類Dev

SCNNodeが移動を停止したことを検出するにはどうすればよいですか?

分類Dev

誰かがiPhoneを振ったことを検出するにはどうすればよいですか?

分類Dev

tm構造体を使用するときにうるう秒があるかどうかを検出するにはどうすればよいですか?

分類Dev

C ++、OpenGL、およびfreeglutとの衝突を検出するにはどうすればよいですか?

分類Dev

接触と衝突を正しく検出するにはどうすればよいですか?Swift iOS SKScene

分類Dev

LIBGDXでカーブとの衝突検出を確認するにはどうすればよいですか?

分類Dev

pytestでエラーと障害の検出を変更するにはどうすればよいですか?

分類Dev

Microsoft Edgeで検索入力をクリアするために、常に「x」を表示するにはどうすればよいですか?

分類Dev

ReactコンポーネントとReact要素を検出するにはどうすればよいですか?

分類Dev

ウェブカメラの幅と高さを検出するにはどうすればよいですか?

分類Dev

ReactアプリをEdgeとIE11で動作させるにはどうすればよいですか?

分類Dev

PhpStormによって検出されるように関数が停止したことを宣言するにはどうすればよいですか?

分類Dev

特定のdivと重複/「接触」しているdivがあるかどうかを検出するにはどうすればよいですか?

分類Dev

d3 zoomBehaviorを使用して、ユーザーによるパンとズームを検出するにはどうすればよいですか?

分類Dev

phpの文字列にhtmlを挿入するときに引用符を検出しないようにするにはどうすればよいですか?

分類Dev

YOLOを使用して検出されたオブジェクトごとに異なる「色」を設定するにはどうすればよいですか

分類Dev

Microsoft EdgeからJavaScriptを編集するにはどうすればよいですか?

分類Dev

Kqueueを使用してファイルがゴミ箱に送信されたことを検出するにはどうすればよいですか?

Related 関連記事

  1. 1

    IEおよびEdgeブラウザーを検出するにはどうすればよいですか?

  2. 2

    Microsoft Edgeがインストールされているかどうかを検出するにはどうすればよいですか?

  3. 3

    ExpandoObjectとDynamicObjectを検出するにはどうすればよいですか?

  4. 4

    '--help'が呼び出されたことを検出するにはどうすればよいですか?

  5. 5

    画面JavaScriptでタッチがないことを検出するにはどうすればよいですか?

  6. 6

    Kentico v9ユーザーがJavaScriptを使用してCMSデスクにいることを検出するにはどうすればよいですか?

  7. 7

    IE11以降を正しく検出するにはどうすればよいですか?

  8. 8

    jQueryでIE 8を検出するにはどうすればよいですか?

  9. 9

    Explorer Searchで#を検索するにはどうすればよいですか?

  10. 10

    送信されたボタンをajaxとphpで検出するにはどうすればよいですか?

  11. 11

    javascriptを使用してtextarea値が変更されたことを検出するにはどうすればよいですか?

  12. 12

    SCNNodeが移動を停止したことを検出するにはどうすればよいですか?

  13. 13

    誰かがiPhoneを振ったことを検出するにはどうすればよいですか?

  14. 14

    tm構造体を使用するときにうるう秒があるかどうかを検出するにはどうすればよいですか?

  15. 15

    C ++、OpenGL、およびfreeglutとの衝突を検出するにはどうすればよいですか?

  16. 16

    接触と衝突を正しく検出するにはどうすればよいですか?Swift iOS SKScene

  17. 17

    LIBGDXでカーブとの衝突検出を確認するにはどうすればよいですか?

  18. 18

    pytestでエラーと障害の検出を変更するにはどうすればよいですか?

  19. 19

    Microsoft Edgeで検索入力をクリアするために、常に「x」を表示するにはどうすればよいですか?

  20. 20

    ReactコンポーネントとReact要素を検出するにはどうすればよいですか?

  21. 21

    ウェブカメラの幅と高さを検出するにはどうすればよいですか?

  22. 22

    ReactアプリをEdgeとIE11で動作させるにはどうすればよいですか?

  23. 23

    PhpStormによって検出されるように関数が停止したことを宣言するにはどうすればよいですか?

  24. 24

    特定のdivと重複/「接触」しているdivがあるかどうかを検出するにはどうすればよいですか?

  25. 25

    d3 zoomBehaviorを使用して、ユーザーによるパンとズームを検出するにはどうすればよいですか?

  26. 26

    phpの文字列にhtmlを挿入するときに引用符を検出しないようにするにはどうすればよいですか?

  27. 27

    YOLOを使用して検出されたオブジェクトごとに異なる「色」を設定するにはどうすればよいですか

  28. 28

    Microsoft EdgeからJavaScriptを編集するにはどうすればよいですか?

  29. 29

    Kqueueを使用してファイルがゴミ箱に送信されたことを検出するにはどうすればよいですか?

ホットタグ

アーカイブ