استخدم التعليق الشرطي لتحديد إصدار IE. حسنًا ، اقترح شخص ما مبكرًا ، لكنه لم ينظر إلى الكود بعناية. صادفت أن أراها عندما كنت أشاهد فطيرة CSS3 أمس ، واعتقدت أنها غير موثوقة. لقد ذكرت ذلك أيضًا اليوم من قبل بول الأيرلندي ، لذلك أوصي به. هذا مكتوب على مدونة المؤلف:
نسخة الكود كما يلي:
.
// مقتطف قصير للكشف عن إصدارات IE في JavaScript
// دون اللجوء إلى استنشاق وكيل المستخدم
.
// إذا لم تكن في IE (أو إصدار IE أقل من 5) ثم:
// أي === غير محددة
// إذا كنت في IE (> = 5) ، فيمكنك تحديد الإصدار:
// ie === 7 ؛ // ie7
// وهكذا ، لاكتشاف أي:
// إذا (أي) {}
// واكتشاف الإصدار:
// ie === 6 // ie6
// ie> 7 // ie8 ، ie9 ...
// أي <9 // أي شيء أقل من IE9
.
// تحديث: الآن استخدام فكرة Nodelist Live من Jdalton
var ie = (function () {
var undef ،
v = 3 ،
div = document.createElement ('div') ،
الكل = div.getElementSbyTagName ('i') ؛
بينما (
div.innerhtml = '<!-[if gt ie' + (++ v) + ']> <i> </i> <! [endif]->' ،
الكل [0]
) ؛
العودة V> 4؟ الخامس: undef ؛
} ()) ؛
انتبه إلى هذا أثناء البيان. هذا ما أجده أكثر إثارة للاهتمام. للمشغل الفاصلة. لست على دراية به ، وأنا عالق مع استخدام التعريفات المتغيرة. على سبيل المثال:
نسخة الكود كما يلي:
var a = 'b' ، c = 'd' ، e = 'f' ؛
var obj = {
ج: "ب" ،
ج: "د" ،
E: 'F'
}
سألت زميل العمل الخاص بي kangpangpang وفحص الكتاب مرة أخرى. في الواقع ، هذا نادر نسبيا. عادة ما يتم إرجاع القيمة الأخيرة.
نسخة الكود كما يلي:
var a = (1،2،3،5،6،0،9،4) ؛ // a === 4
حسنًا ، هذا ربما. مثير جدا للاهتمام.