Memperbaiki Keserasian Array.indexOf() untuk Penyemak Imbas Internet Explorer
Walaupun penggunaan JavaScript yang meluas, pelayar Internet Explorer tidak mempunyai fungsi asli Array.prototype.indexOf() untuk mengesan kejadian objek dalam tatasusunan. Untuk menyelesaikan isu ini, anda boleh melanjutkan prototaip Array dengan coretan berikut pada halaman anda:
Array.prototype.indexOf = function(obj, start) { for (var i = (start || 0), j = this.length; i < j; i++) { if (this[i] === obj) { return i; } } return -1; }
Apabila melaksanakan pembetulan ini, pertimbangkan nasihat berikut:
Elakkan Pengesanan Penyemak Imbas: Menggunakan kod pengesanan penyemak imbas seperti "jika (pelayar == Pelayar Gaya IE)" biasanya tidak digalakkan kerana ia tidak boleh dipercayai dan boleh membawa kepada tingkah laku yang tidak dijangka.
Sebaliknya, pilih pengesyoran berikut oleh Mozilla Developer Network (MDC):
if (!Array.prototype.indexOf) { }
Pendekatan ini memastikan keserasian tanpa memerlukan semakan khusus penyemak imbas. Sebagai amalan terbaik, sentiasa pilih penyelesaian merentas penyemak imbas berbanding penyelesaian yang bergantung kepada penyemak imbas.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Membuat Array.indexOf() Berfungsi dalam Internet Explorer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!