Kesan Versi IE (Sebelum v9) dalam JavaScript
Kriteria Pengesanan dan Kod Cadangan
Untuk menentukan sama ada pengguna mengakses tapak web menggunakan versi Internet Explorer sebelum v9, kod yang dicadangkan itu memanfaatkan sifat navigator.appName dan navigator.appVersion.
if (navigator.appName.indexOf("Internet Explorer") != -1) { // User is using IE // Check for IE version < 9 }
Adakah Kod Ini Berlaku Trick?
Walaupun menangani kebimbangan yang dibangkitkan tentang spoofing rentetan ejen pengguna dan pengesanan sokongan ciri, kod yang dicadangkan mempunyai beberapa had:
Alternatif Pilihan
Untuk mengatasi batasan ini, pendekatan yang lebih komprehensif melibatkan penggunaan pengesanan berasaskan kelas CSS:
html.lt-ie9 { ... } html.lt-ie8 { ... } html.lt-ie7 { ... }
<!--[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]-->
if ($('html').is('.lt-ie7, .lt-ie8, .lt-ie9')) { // IE version < 9 } else { // Other browsers }
Kaedah ini memberikan lebih fleksibiliti, keserasian dan kawalan untuk mengendalikan versi penyemak imbas yang berbeza.
Atas ialah kandungan terperinci Adakah Menggunakan `navigator.appName` dan `navigator.appVersion` Boleh Dipercayai untuk Mengesan Versi IE Lama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!