Rumah > Artikel > hujung hadapan web > Bagaimanakah Saya Boleh Mengesan Penggunaan Internet Explorer Dalam Pendengar Acara?
Apabila melampirkan pendengar acara pada elemen tertentu, anda mungkin perlu menyemak sama ada pengguna sedang menggunakan Internet Explorer (IE) untuk melaksanakan tindakan tertentu atau melumpuhkan fungsi untuk pelayar lain. Artikel ini meneroka kaedah untuk mencapai perkara ini dan menyediakan penyelesaian untuk pelbagai senario.
Untuk menentukan sama ada peristiwa itu dicetuskan dalam IE, anda boleh menggunakan sifat documentMode. Sifat ini hanya tersedia dalam IE dan mengembalikan versi semasa enjin pemaparan penyemak imbas. Contoh kod berikut menunjukkan pendekatan ini:
$('.myClass').on('click', function(event) { //Abort the function if not in IE if (!document.documentMode) { return; } //Execute IE-specific actions here });
Dalam kes di mana anda hanya perlu menyemak versi IE11 atau lebih tinggi, anda boleh menggunakan perpustakaan UAParser.js untuk mengekstrak maklumat terperinci tentang penyemak imbas pengguna, termasuk versinya. Kod berikut menggambarkan kaedah ini:
$(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+ } });
Dalam beberapa tahun kebelakangan ini, penyemak imbas Microsoft Edge telah beralih kepada menggunakan enjin pemaparan Chromium. Untuk mengendalikan Edge dengan betul dalam semakan anda, anda boleh menggunakan coretan kod berikut:
if (navigator.userAgent.includes('Edge')) { //Handle the Edge browser here }
Sebelum peralihan Chromium, Edge mempamerkan Ejen Pengguna yang berbeza ( UA) rentetan. Berikut ialah fungsi yang masih boleh mengesan IE11 dan versi yang lebih lama:
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; } }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Penggunaan Internet Explorer Dalam Pendengar Acara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!