ホームページ > 記事 > ウェブフロントエンド > イベント リスナー内で Internet Explorer の使用状況を検出するにはどうすればよいですか?
イベント リスナーを特定の要素にアタッチする場合、ユーザーが現在 Internet Explorer (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 });
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+ } });
近年、Microsoft Edge ブラウザは Chromium レンダリング エンジンの使用に移行しています。チェックで Edge を正しく処理するには、次のコード スニペットを利用できます:
if (navigator.userAgent.includes('Edge')) { //Handle the Edge browser here }
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 サイトの他の関連記事を参照してください。