Gunakan komentar bersyarat untuk menentukan versi IE. Yah, seseorang mengusulkannya lebih awal, tetapi tidak melihat kode dengan hati -hati. Saya kebetulan melihatnya ketika saya menonton CSS3 Pie kemarin, dan saya pikir itu tidak dapat diandalkan. Saya juga menyebutkannya hari ini oleh Paul Irish, jadi saya merekomendasikannya. Ini ditulis di blog penulis:
Salinan kode adalah sebagai berikut:
// ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Cuplikan pendek untuk mendeteksi versi IE di JavaScript
// Tanpa menggunakan sniffing agen pengguna
// ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Jika Anda tidak berada di IE (atau versi IE kurang dari 5) maka:
// IE === Tidak ditentukan
// Jika Anda berada di IE (> = 5) maka Anda dapat menentukan versi mana:
// IE === 7; // IE7
// Jadi, untuk mendeteksi yaitu:
// if (yaitu) {}
// dan untuk mendeteksi versinya:
// IE === 6 // IE6
// IE> 7 // IE8, IE9 ...
// yaitu <9 // sesuatu yang kurang dari IE9
// ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// UPDATE: Sekarang menggunakan ide nodelist langsung dari @jdalton
var ie = (function () {
var undef,
v = 3,
Div = document.createelement ('div'),
all = div.getElementsbyTagname ('i');
Ketika (
div.innerHtml = '<!-[jika gt yaitu' + (++ v) + ']> <i> </i> <! [Endif]->',
semua [0]
);
mengembalikan v> 4? V: Undef;
} ());
Perhatikan ini saat pernyataan. Itu yang menurut saya paling menarik. Untuk operator koma. Saya tidak terbiasa dengan itu, dan saya hanya terjebak dengan penggunaan definisi variabel. Misalnya:
Salinan kode adalah sebagai berikut:
var a = 'b', c = 'd', e = 'f';
var obj = {
A: 'B',
C: 'D',
e: 'f'
}
Saya bertanya kepada rekan kerja saya @kangpangpang dan memeriksa buku itu lagi. Sebenarnya, ini relatif jarang. Biasanya nilai terakhir dikembalikan.
Salinan kode adalah sebagai berikut:
var a = (1,2,3,5,6,0,9,4); // a === 4
Yah, itu mungkin saja. Sangat menarik.