Οδηγός αναφοράς για τα ιστορικά σφάλματα απόδοσης και τις ιδιορρυθμίες 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.