مرجع سريع

ورقة غش أخطاء Internet Explorer القديمة (أرشيف)

دليل مرجعي تاريخي للأخطاء الشائعة في IE8 والإصدارات الأقدم: أحداث change المفقودة، وفشل تركيز label، وخصائص hasLayout، وأخطاء وراثة الشفافية.

· تاريخ النشر

دليل مرجعي لأشهر أخطاء العرض البرمجي ومشكلات JavaScript التي كانت تظهر عند صيانة مواقع Internet Explorer (IE8) القديمة.

مشكلات IE8 المعروفة والحلول البديلة

1. أحداث change في عناصر الراديو ومربعات الاختيار

في IE8، لا ينطلق حدث change على <input type="checkbox"> و<input type="radio"> فور النقر؛ بل ينطلق فقط بعد أن يفقد العنصر التركيز.

  • الحل البديل: استمع إلى حدث click بدلاً من change لتحديث الحالة فوراً.

2. عناصر <label> القابلة للنقر والمحيطة بحقول الإدخال

في IE8، لا يؤدي النقر على عنصر <label> يحتوي بداخله على حقل إدخال إلى تبديل حالة الحقل أو التركيز عليه.

  • الحل البديل: امنح كل حقل إدخال قيمة فريدة id="..."، واربطه صراحة عبر <label for="...">.

3. وراثة الشفافية في العناصر الأبناء ذات الموضع

تطبيق filter: alpha(opacity=50); على العنصر الأب لا ينتقل إلى العناصر الأبناء التي تحمل position: relative أو position: absolute.

  • الحل البديل: طبّق قاعدة مرشح الشفافية مباشرة على العناصر الأبناء ذات الموضع.

4. مشكلات تفعيل hasLayout (IE6 / IE7)

كانت العديد من أخطاء التخطيط (اختفاء المحتوى أو انهيار نموذج الصندوق) في IE6/7 تحدث عندما يفتقر العنصر إلى أبعاد تخطيط داخلية.

  • الحل: فعّل hasLayout باستخدام zoom: 1; في CSS.

المراجع

موضوعات ذات صلة