ホームページ  >  記事  >  ウェブフロントエンド  >  イベント リスナー内で Internet Explorer の使用状況を検出するにはどうすればよいですか?

イベント リスナー内で Internet Explorer の使用状況を検出するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-25 16:59:12432ブラウズ

How Can I Detect Internet Explorer Usage Within Event Listeners?

イベント リスナーでの Internet Explorer の使用状況の確認

はじめに

イベント リスナーを特定の要素にアタッチする場合、ユーザーが現在 Internet Explorer (IE) を使用して特定のアクションを実行するか、他のブラウザの機能を無効にします。この記事では、これを実現する方法を検討し、さまざまなシナリオに対する解決策を提供します。

イベント関数での IE の使用状況の検出

イベントが IE 内でトリガーされたかどうかを確認するには、documentMode プロパティを利用できます。このプロパティは IE でのみ使用可能で、ブラウザーのレンダリング エンジンの現在のバージョンを返します。次のコード サンプルは、このアプローチを示しています。

$('.myClass').on('click', function(event) {
  //Abort the function if not in IE
  if (!document.documentMode) {
    return;
  }

  //Execute IE-specific actions here
});

特定の IE バージョンの確認

IE11 以降のバージョンのみを確認する必要がある場合は、UAParser.js ライブラリを使用して次のことを行うことができます。ユーザーのブラウザに関する詳細情報 (バージョンなど) を抽出します。次のコードは、この方法を示しています。

$(document).ready(function() {
  //Parse user agent string to determine user's browser
  var parser = new UAParser();
  var uaInfo = parser.getResult();

  // Handle the event listeners based on the UA information
  if (uaInfo.browser.family === 'Microsoft Edge') {
    //Do something for IE
  } else if (uaInfo.browser.family === 'IE' && uaInfo.browser.major >= 11) {
    //Do something for IE11+
  }
});

Edge ブラウザに関する考慮事項

近年、Microsoft Edge ブラウザは Chromium レンダリング エンジンの使用に移行しています。チェックで Edge を正しく処理するには、次のコード スニペットを利用できます:

if (navigator.userAgent.includes('Edge')) {
  //Handle the Edge browser here
}

レガシー アプローチ (Chromium 以前の Edge)

Chromium への移行前、Edge は異なるユーザー エージェント ( UA) 文字列。 IE11 以前のバージョンを検出できる関数は次のとおりです:

function detectIE() {
  var ua = window.navigator.userAgent;
  var msie = ua.indexOf('MSIE ');
  var trident = ua.indexOf('Trident/');

  //Return IE version or false based on the UA string
  if (msie > 0) {
    return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
  } else if (trident > 0) {
    return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
  } else {
    return false;
  }
}

以上がイベント リスナー内で Internet Explorer の使用状況を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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