Γρήγορη αναφορά

Σκονάκι Παλαιών Σφαλμάτων (Bugs) του Internet Explorer (Αρχείο)

Ιστορικός οδηγός αναφοράς για διαβόητα σφάλματα στον IE8 και παλαιότερους: χαμένα συμβάντα change, αποτυχία εστίασης label, ιδιορρυθμίες hasLayout και σφάλματα κληρονομικότητας αδιαφάνειας.

· Δημοσιεύτηκε

Οδηγός αναφοράς για τα ιστορικά σφάλματα απόδοσης και τις ιδιορρυθμίες JavaScript κατά τη συντήρηση παλαιών ιστότοπων για Internet Explorer (IE8).

Γνωστές Ιδιορρυθμίες IE8 & Λύσεις Παράκαμψης

1. Συμβάντα change σε Κουμπιά Επιλογής (Radio) & Πλαίσια Ελέγχου (Checkbox)

Στον IE8, το συμβάν change σε <input type="checkbox"> και <input type="radio"> δεν ενεργοποιείται αμέσως με το κλικ, αλλά μόνο αφού το στοιχείο χάσει την εστίαση.

  • Λύση: Χρησιμοποιήστε το συμβάν click αντί του change για άμεση ενημέρωση κατάστασης.

2. Ενεργά στοιχεία <label> που περιβάλλουν πεδία εισαγωγής

Στον IE8, το κλικ σε ένα <label> που περιέχει ένα πεδίο <input> αποτυγχάνει να αλλάξει ή να εστιάσει στο εσωτερικό πεδίο.

  • Λύση: Δώστε σε κάθε πεδίο μοναδικό id="..." και συνδέστε το ρητά με <label for="...">.

3. Κληρονομικότητα αδιαφάνειας (Opacity) σε τοποθετημένους απογόνους

Η ρύθμιση filter: alpha(opacity=50); σε γονικό στοιχείο δεν μεταφέρεται σε απογόνους που έχουν position: relative ή position: absolute.

  • Λύση: Εφαρμόστε ρητά τον κανόνα φίλτρου αδιαφάνειας απευθείας στα τοποθετημένα θυγατρικά στοιχεία.

4. Ιδιορρυθμίες ενεργοποίησης του hasLayout (IE6 / IE7)

Πολλά προβλήματα διάταξης (εξαφάνιση περιεχομένου, κατάρρευση box-model) στον IE6/7 συνέβαιναν όταν ένα στοιχείο δεν είχε εσωτερικές διαστάσεις διάταξης.

  • Διόρθωση: Ενεργοποιήστε το hasLayout χρησιμοποιώντας zoom: 1; στο CSS.

Αναφορές

Σχετικά θέματα