Ποια είναι η διαφορά αν μια ιστοσελίδα ξεκινά με
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
και αν η σελίδα αρχίζει με
<!DOCTYPE html>
<html>
<head>
<!-- without X-UA-Compatible meta -->
Αν δεν υπάρχει διαφορά, υποθέτω ότι μπορώ να αγνοήσω τη μετα-επικεφαλίδα X-UA-Compatible
, αφού θέλω απλώς να αποδίδεται στην πιο τυπική λειτουργία σε όλες τις εκδόσεις του IE.
Ενημέρωση Οκτωβρίου 2015
X-UA-Compatible
στον ιστότοπό σας; με τις αλλαγές που έχει κάνει η Microsoft στα προγράμματα περιήγησης (περισσότερα για αυτές παρακάτω).
Ανάλογα με τα προγράμματα περιήγησης της Microsoft που υποστηρίζετε, μπορεί να μην χρειάζεται να συνεχίσετε να χρησιμοποιείτε την ετικέτα X-UA-Compatible
. Εάν πρέπει να υποστηρίζετε τον IE9 ή τον IE8, τότε θα σας συνιστούσα να χρησιμοποιήσετε την ετικέτα. Εάν υποστηρίζετε μόνο τα πιο πρόσφατα προγράμματα περιήγησης (IE11 ή/και Edge), τότε θα σκεφτόμουν να εγκαταλείψω εντελώς αυτή την ετικέτα. Εάν χρησιμοποιείτε το Twitter Bootstrap και πρέπει να εξαλείψετε τις προειδοποιήσεις επικύρωσης, αυτή η ετικέτα πρέπει να εμφανίζεται με την καθορισμένη σειρά της. Πρόσθετες πληροφορίες παρακάτω:Η μετα-ετικέτα X-UA-Compatible
επιτρέπει στους συγγραφείς ιστοσελίδων να επιλέξουν ποια έκδοση του Internet Explorer θα πρέπει να αποδίδεται η σελίδα. Ο IE11 έχει κάνει αλλαγές σε αυτές τις λειτουργίες- δείτε τη σημείωση για τον IE11 παρακάτω. Ο [Microsoft Edge][1], το πρόγραμμα περιήγησης που αντικατέστησε τον IE11, σέβεται την ετικέτα meta X-UA-Compatible
μόνο σε ορισμένες περιπτώσεις. Ανατρέξτε στη σημείωση του Microsoft Edge παρακάτω.
Σύμφωνα με τη Microsoft, όταν χρησιμοποιείτε την ετικέτα X-UA-Compatible
, θα πρέπει να βρίσκεται όσο το δυνατόν πιο ψηλά στην κεφαλή
του εγγράφου σας:
Εάν χρησιμοποιείτε την ετικέτα META X-UA-Compatible, θέλετε να την τοποθετήσετε όσο το δυνατόν πιο κοντά στην κορυφή του HEAD της σελίδας. Ο Internet Explorer αρχίζει να ερμηνεύει τη σήμανση χρησιμοποιώντας την τελευταία έκδοση. Όταν ο Internet Explorer συναντήσει την ετικέτα X-UA-Compatible META ξεκινά από την αρχή χρησιμοποιώντας τη μηχανή της καθορισμένης έκδοσης's. Αυτό είναι ένα χτύπημα στην απόδοση επειδή το πρόγραμμα περιήγησης πρέπει να σταματήσει και να επανεκκινήσει την ανάλυση του περιεχομένου. Ακολουθούν οι επιλογές σας:
- "IE=edge",
- "IE=11",
- "IE=EmulateIE11",
- "IE=10",
- "IE=EmulateIE10",
- "IE=9",
- "IE=EmulateIE9
- "IE=8",
- "IE=EmulateIE8",
- "IE=7",
- "IE=EmulateIE7",
- "IE=5", Για να προσπαθήσετε να καταλάβετε τι σημαίνει το καθένα, παραθέτουμε τους ορισμούς που παρέχει η Microsoft: Ο Internet Explorer υποστηρίζει έναν αριθμό λειτουργιών συμβατότητας εγγράφων που ενεργοποιούν διαφορετικές λειτουργίες και μπορούν να επηρεάσουν τον τρόπο εμφάνισης του περιεχομένου:
- Η λειτουργία Edge λέει στον Internet Explorer να εμφανίζει το περιεχόμενο στην υψηλότερη διαθέσιμη λειτουργία. Με τον Internet Explorer 9, αυτό ισοδυναμεί με τη λειτουργία IE9. Εάν μια μελλοντική έκδοση του Internet Explorer υποστηρίζει μια υψηλότερη λειτουργία συμβατότητας, οι σελίδες που έχουν οριστεί σε λειτουργία άκρης θα εμφανίζονται στην υψηλότερη λειτουργία που υποστηρίζεται από την εν λόγω έκδοση. Οι ίδιες σελίδες θα εξακολουθούσαν να εμφανίζονται σε λειτουργία IE9 όταν προβάλλονται με τον Internet Explorer 9. Ο Internet Explorer υποστηρίζει μια σειρά από λειτουργίες συμβατότητας εγγράφων που ενεργοποιούν διαφορετικές λειτουργίες και μπορούν να επηρεάσουν τον τρόπο εμφάνισης του περιεχομένου:
- Η λειτουργία IE11 παρέχει την υψηλότερη δυνατή υποστήριξη για καθιερωμένα και αναδυόμενα βιομηχανικά πρότυπα, συμπεριλαμβανομένων των HTML5, CSS3 και άλλων.
- Η λειτουργία IE10 παρέχει την υψηλότερη δυνατή υποστήριξη για καθιερωμένα και αναδυόμενα βιομηχανικά πρότυπα, συμπεριλαμβανομένων των HTML5, CSS3 και άλλων.
- Η λειτουργία IE9 παρέχει την υψηλότερη διαθέσιμη υποστήριξη για καθιερωμένα και αναδυόμενα βιομηχανικά πρότυπα, συμπεριλαμβανομένων των HTML5 (σχέδιο εργασίας), W3C Cascading Style Sheets Level 3 Specification (σχέδιο εργασίας), Scalable Vector Graphics (SVG) 1.0 Specification και άλλων. [Σημείωση του συντάκτη: Ο IE 9 δεν υποστηρίζει τα κινούμενα σχέδια CSS3].
- Η λειτουργία IE8 υποστηρίζει πολλά καθιερωμένα πρότυπα, συμπεριλαμβανομένης της προδιαγραφής W3C Cascading Style Sheets Level 2.1 Specification και του W3C Selectors API- παρέχει επίσης περιορισμένη υποστήριξη για την προδιαγραφή W3C Cascading Style Sheets Level 3 Specification (Working Draft) και άλλα αναδυόμενα πρότυπα.
- Η λειτουργία IE7 αποδίδει το περιεχόμενο σαν να εμφανιζόταν σε λειτουργία προτύπων από τον Internet Explorer 7, είτε η σελίδα περιέχει μια οδηγία <!DOCTYPE> είτε όχι.
- Η λειτουργία Emulate IE9 λέει στον Internet Explorer να χρησιμοποιήσει την οδηγία <!DOCTYPE> για να καθορίσει τον τρόπο απόδοσης του περιεχομένου. Οι οδηγίες λειτουργίας προτύπων εμφανίζονται στη λειτουργία IE9 και οι οδηγίες λειτουργίας quirks εμφανίζονται στη λειτουργία IE5. Σε αντίθεση με τη λειτουργία IE9, η λειτουργία Emulate IE9 σέβεται την οδηγία <!DOCTYPE>.
- Η λειτουργία Emulate IE8 λέει στον Internet Explorer να χρησιμοποιεί την οδηγία <!DOCTYPE> για να καθορίσει τον τρόπο απόδοσης του περιεχομένου. Οι οδηγίες λειτουργίας προτύπων εμφανίζονται στη λειτουργία IE8 και οι οδηγίες λειτουργίας quirks εμφανίζονται στη λειτουργία IE5. Σε αντίθεση με τη λειτουργία IE8, η λειτουργία Emulate IE8 σέβεται την οδηγία <!DOCTYPE>.
- Η λειτουργία Emulate IE7 λέει στον Internet Explorer να χρησιμοποιήσει την οδηγία <!DOCTYPE> για να καθορίσει τον τρόπο απόδοσης του περιεχομένου. Οι οδηγίες λειτουργίας προτύπων εμφανίζονται στη λειτουργία προτύπων του Internet Explorer 7 και οι οδηγίες λειτουργίας ιδιορρυθμιών εμφανίζονται στη λειτουργία IE5. Σε αντίθεση με τη λειτουργία IE7, η λειτουργία Emulate IE7 σέβεται την οδηγία <!DOCTYPE>. Για πολλούς ιστότοπους, αυτή είναι η προτιμώμενη λειτουργία συμβατότητας.
Η λειτουργία IE5 αποδίδει το περιεχόμενο σαν να εμφανιζόταν στη λειτουργία quirks από τον Internet Explorer 7, η οποία είναι πολύ παρόμοια με τον τρόπο που εμφανιζόταν το περιεχόμενο στον Microsoft Internet Explorer 5. ΣΗΜΕΙΩΣΗ ΓΙΑ ΤΟΝ IE10: Από τον IE10, η λειτουργία quirks συμπεριφέρεται διαφορετικά από ό,τι σε προηγούμενες εκδόσεις του προγράμματος περιήγησης. Στον IE9 και σε προηγούμενες εκδόσεις, η λειτουργία quirks περιόριζε την ιστοσελίδα στις δυνατότητες που υποστηρίζονταν από τον IE5.5. Στον IE10, η λειτουργία quirks συμμορφώνεται με τις διαφορές που καθορίζονται στην προδιαγραφή HTML5. Προσωπικά, επιλέγω πάντα την ετικέτα meta
http-equiv="X-UA-Compatible" content="IE=edge"
, καθώς οι παλαιότερες εκδόσεις έχουν πολλά σφάλματα και δεν θέλω ο IE να αποφασίσει να μπει σε "Compatibility mode" και να εμφανίσει τον ιστότοπό μου ως IE7 έναντι IE8 ή 9. Προτιμώ πάντα την τελευταία έκδοση του IE. IE11 Από τη Microsoft: Ξεκινώντας με τον IE11, η λειτουργία edge είναι η προτιμώμενη λειτουργία εγγράφου- αντιπροσωπεύει την υψηλότερη υποστήριξη για τα σύγχρονα πρότυπα που διαθέτει το πρόγραμμα περιήγησης. Χρησιμοποιήστε τη δήλωση τύπου εγγράφου HTML5 για να ενεργοποιήσετε τη λειτουργία edge:<!doctype html>
Η λειτουργία άκρων εισήχθη στον Internet Explorer 8 και ήταν διαθέσιμη σε κάθε επόμενη έκδοση. Σημειώστε ότι τα χαρακτηριστικά που υποστηρίζονται από τη λειτουργία άκρων περιορίζονται σε αυτά που υποστηρίζονται από τη συγκεκριμένη έκδοση του προγράμματος περιήγησης που αναπαράγει το περιεχόμενο. Ξεκινώντας από τον IE11, οι λειτουργίες εγγράφων έχουν καταργηθεί και δεν πρέπει πλέον να χρησιμοποιούνται, εκτός από προσωρινά. Φροντίστε να ενημερώσετε τους ιστότοπους που βασίζονται σε παλαιά χαρακτηριστικά και λειτουργίες εγγράφων ώστε να αντικατοπτρίζουν τα σύγχρονα πρότυπα. Εάν πρέπει να στοχεύσετε σε μια συγκεκριμένη λειτουργία εγγράφου, ώστε να λειτουργεί ο ιστότοπός σας ενώ τον επεξεργάζεστε ώστε να υποστηρίζει σύγχρονα πρότυπα και χαρακτηριστικά, να γνωρίζετε ότι χρησιμοποιείτε μια μεταβατική λειτουργία, η οποία ενδέχεται να μην είναι διαθέσιμη σε μελλοντικές εκδόσεις. Εάν χρησιμοποιείτε επί του παρόντος την επικεφαλίδα x-ua-compatible για να στοχεύσετε μια παλαιά λειτουργία εγγράφου, είναι πιθανό ο ιστότοπός σας να μην αντικατοπτρίζει την καλύτερη δυνατή εμπειρία που είναι διαθέσιμη με τον IE11. Microsoft Edge (Αντικατάσταση του Internet Explorer που συνοδεύει τα Windows 10) Πληροφορίες σχετικά με την ετικέτα metaX-UA-Compatible
για την έκδοση "Edge" του IE. Από τη Microsoft: Εισαγωγή της "ζωντανής" λειτουργίας εγγράφων του Edge Όπως ανακοινώσαμε τον Αύγουστο του 2013, καταργούμε τις λειτουργίες εγγράφων από τον IE11. Με τις τελευταίες ενημερώσεις της πλατφόρμας μας, η ανάγκη για τις παλαιές λειτουργίες εγγράφων περιορίζεται κυρίως στις παλαιές διαδικτυακές εφαρμογές Enterprise. Με νέες αρχιτεκτονικές αλλαγές, αυτές οι παλαιές λειτουργίες εγγράφων θα απομονωθούν από τις αλλαγές στη "ζωντανή" λειτουργία Edge, γεγονός που θα βοηθήσει να εξασφαλιστεί πολύ υψηλότερο επίπεδο συμβατότητας για τους πελάτες που εξαρτώνται από αυτές τις λειτουργίες και θα μας βοηθήσει να προχωρήσουμε ακόμη πιο γρήγορα στις βελτιώσεις του Edge. Ο IE θα εξακολουθεί να σέβεται τις λειτουργίες εγγράφων που εξυπηρετούνται από τοποθεσίες ενδοδικτύου, τοποθεσίες στη λίστα προβολής συμβατότητας και όταν χρησιμοποιούνται μόνο με τη λειτουργία Enterprise Mode. Οι ιστότοποι του δημόσιου Διαδικτύου θα αποδίδονται με τη νέα πλατφόρμα λειτουργίας Edge (αγνοώντας το X-UA-Compatible). Στόχος μας είναι ο Edge να είναι ο "ζωντανός" τρόπος λειτουργίας εγγράφων από εδώ και πέρα και δεν θα εισαχθούν περαιτέρω τρόποι λειτουργίας εγγράφων στο μέλλον. Με τις αλλαγές στον Microsoft Edge να μην υποστηρίζει πλέον τρόπους λειτουργίας εγγράφων στις περισσότερες περιπτώσεις, η Microsoft διαθέτει ένα εργαλείο για να σαρώσει τον ιστότοπό σας για να ελέγξει και να δει αν έχει κώδικα που δεν είναι συμβατός με τον Edge. Chrome=1 Πληροφορίες για τον IE Υπάρχει επίσης τοchrome=1
που μπορείτε να χρησιμοποιήσετε ή να χρησιμοποιήσετε μαζί με μία από τις παραπάνω επιλογές όπως:<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
. Τοchrome=1
είναι για το Chrome Frame της Google'το οποίο ορίζεται ως: Το Google Chrome Frame είναι ένα πρόσθετο πρόγραμμα περιήγησης ανοικτού κώδικα. Οι χρήστες που έχουν εγκαταστήσει το πρόσθετο έχουν πρόσβαση στις ανοικτές τεχνολογίες ιστού και στην ταχύτατη μηχανή JavaScript του Google Chrome'όταν ανοίγουν σελίδες στο πρόγραμμα περιήγησης. Το Google Chrome Frame βελτιώνει απρόσκοπτα την εμπειρία περιήγησής σας στον Internet Explorer. Εμφανίζει ιστότοπους με δυνατότητα Google Chrome Frame χρησιμοποιώντας την τεχνολογία απόδοσης του Google Chrome, παρέχοντάς σας πρόσβαση στις τελευταίες δυνατότητες HTML5 καθώς και στις επιδόσεις και τα χαρακτηριστικά ασφαλείας του Google Chrome, χωρίς να διακόπτεται με κανέναν τρόπο η συνήθης χρήση του προγράμματος περιήγησης. Όταν είναι εγκατεστημένο το Google Chrome Frame, ο ιστός γίνεται απλά καλύτερος χωρίς να χρειάζεται να το σκέφτεστε. Αλλά για να λειτουργήσει αυτό το πρόσθετο πρέπει να χρησιμοποιήσετε τοchrome=1
στην ετικέτα metaX-UA-Compatible
. Περισσότερες πληροφορίες για το Chrome Frame μπορείτε να βρείτε εδώ. Σημείωση: Το Google Chrome Frame λειτουργεί μόνο για IE6 έως IE9 και αποσύρθηκε στις 25 Φεβρουαρίου 2014. Περισσότερες πληροφορίες μπορείτε να βρείτε εδώ. Ευχαριστούμε τον @mck για τον σύνδεσμο. Επικύρωση: HTML5: Η σελίδα θα επικυρωθεί χρησιμοποιώντας τον W3 Validator μόνο όταν χρησιμοποιείται η επιλογή<meta http-equiv="X-UA-Compatible" content="IE=Edge">
. Για άλλες τιμές θα πετάξει το σφάλμα:Ένα στοιχείο meta με ένα χαρακτηριστικό http-equiv του οποίου η τιμή είναι X-UA-Compatible πρέπει να έχει ένα χαρακτηριστικό content με την τιμή IE=edge.
Με άλλα λόγια, αν έχετεIE=edge,chrome=1
δεν θα επικυρώσει. Αγνοώ αυτό το σφάλμα εντελώς, καθώς οι σύγχρονοι φυλλομετρητές απλά αγνοούν αυτή τη γραμμή κώδικα. Εάν πρέπει να έχετε απολύτως έγκυρο κώδικα, τότε σκεφτείτε να το κάνετε αυτό σε επίπεδο διακομιστή, θέτοντας επικεφαλίδα HTTP. Ως σημείωση, η Microsoft αναφέρει:Εάν αποστέλλονται και οι δύο αυτές οδηγίες (meta και HTTP), η προτίμηση του προγραμματιστή (στοιχείο meta) υπερισχύει της ρύθμισης του διακομιστή ιστού (επικεφαλίδα HTTP).
Ανατρέξτε στην olibre's answer ή στην bitinn's answer για περισσότερες λεπτομέρειες σχετικά με το πώς να ορίσετε μια επικεφαλίδα HTTP. XHTML Δεν υπάρχει'πρόβλημα με την επικύρωση όταν χρησιμοποιείτε<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
, αρκεί η ετικέτα να είναι σωστά κλειστή (δηλαδή/>
έναντι>
). Twitter Bootstrap Αυτή η ετικέτα συστήνεται έντονα από την ομάδα Bootstrap τουλάχιστον από το 2014 και ο Bootlint, ο linter που συντάχθηκε από την ομάδα twbs συνεχίζει να δίνει προειδοποίηση όταν η ετικέτα παραλείπεται. Ο linter κάνει διάκριση μεταξύ προειδοποιήσεων και σφαλμάτων και ως εκ τούτου η σοβαρότητα της παράλειψης αυτής της ετικέτας μπορεί να θεωρηθεί ήσσονος σημασίας.Για περισσότερες πληροφορίες σχετικά με το
X-UA-Compatible
ανατρέξτε στην ιστοσελίδα της Microsoft Website Defining Document Compatibility. Για περισσότερες πληροφορίες σχετικά με το τι υποστηρίζει ο IE δείτε caniuse.com. Για περισσότερες πληροφορίες σχετικά με τις απαιτήσεις του Twitter Bootstrap, ανατρέξτε στο έργο bootlint wiki page.
Χρησιμοποιήστε content=``**
"IE=edge,chrome=1"`** Παραλείψτε άλλες λειτουργίες "X-UA-Compatible".
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
--------------------------
javascript::JSON.parse()
στον IE8 <!DOCTYPE html>
)Στην HTML σας
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
IE=edge
σημαίνει ότι ο IE θα πρέπει να χρησιμοποιεί την τελευταία (edge) έκδοση της μηχανής αναπαραγωγής τουchrome=1
σημαίνει ότι ο IE θα πρέπει να χρησιμοποιεί τη μηχανή αναπαραγωγής Chrome αν είναι εγκατεστημένη.
Ή καλύτερα στις ρυθμίσεις του διακομιστή ιστού σας:<br>,
(δείτε επίσης την απάντηση του RiaD's) add_header X-UA-Compatible "IE=Edge,chrome=1",
}
Όπως παρατήρησε η Lynda (βλ. σχόλια), το Compatibility changes in IE11 συνιστά Edge mode:
Ξεκινώντας από τον IE11, η λειτουργία άκρης είναι η προτιμώμενη λειτουργία εγγράφου, αντιπροσωπεύει την υψηλότερη υποστήριξη για τα σύγχρονα πρότυπα που διαθέτει το πρόγραμμα περιήγησης.
Αλλά η θέση της Microsoft δεν ήταν σαφής. Μια άλλη [σελίδα του MSDN δεν συνιστά τη λειτουργία Edge mode][noEdge]:
Επειδή η λειτουργία Edge αναγκάζει όλες τις σελίδες να ανοίγουν σε λειτουργία προτύπων, ανεξάρτητα από την έκδοση του Internet Explorer, μπορεί να μπείτε στον πειρασμό να τη χρησιμοποιήσετε για όλες τις σελίδες που προβάλλονται με τον Internet Explorer. Μην το κάνετε αυτό, καθώς η επικεφαλίδα
X-UA-Compatible
υποστηρίζεται μόνο από την έναρξη του με τον Windows Internet Explorer 8. Αντ' αυτού, η Microsoft συνιστά τη χρήση της επικεφαλίδας<!DOCTYPE html>
: Εάν θέλετε να ανοίγουν όλες οι υποστηριζόμενες εκδόσεις του Internet Explorer τις σελίδες σας σε λειτουργία προτύπων, χρησιμοποιήστε τη δήλωση τύπου εγγράφου HTML5 [...] Όπως εξηγεί ο Ricardo (στα σχόλια παρακάτω) οποιοσδήποτε DOCTYPE (HTML4, XHTML1...) μπορεί να χρησιμοποιηθεί για την ενεργοποίηση του Standards Mode, όχι μόνο ο DOCTYPE της HTML5's. Το σημαντικό είναι να υπάρχει πάντα ένα DOCTYPE στη σελίδα. Η Clara Onager έχει παρατηρήσει ακόμη και σε μια παλαιότερη έκδοση του Specifying legacy document modes: Η λειτουργία Edge προορίζεται μόνο για δοκιμαστικούς σκοπούς, μην τη χρησιμοποιείτε σε περιβάλλον παραγωγής. Είναι τόσο συγκεχυμένο που ο Usman Y νόμιζε ότι μιλούσε η Clara Onager: Το παράδειγμα [...] παρέχεται μόνο για επεξηγηματικούς σκοπούς, μην το χρησιμοποιείτε σε περιβάλλον παραγωγής. >, <meta http-equiv="X-UA-Compatible" content="IE=7,9,10" >, Καλά... Στο υπόλοιπο αυτής της απάντησης δίνω περισσότερες εξηγήσεις γιατί η χρήση τουcontent="IE=edge,chrome=1"
είναι μια καλή πρακτική στην παραγωγή.Ιστορία
Για πολλά χρόνια (2000 έως 2008), το μερίδιο αγοράς του IE ήταν πάνω από 80%. Και ο IE v6 θεωρούνταν de facto πρότυπο (80% έως 97% μερίδιο αγοράς το 2003, 2004, 2005 και 2006 μόνο για τον IE6, μεγαλύτερο μερίδιο αγοράς με όλες τις εκδόσεις του IE). Καθώς ο IE6 δεν σεβόταν τα πρότυπα του Web, οι προγραμματιστές έπρεπε να δοκιμάσουν τον ιστότοπό τους χρησιμοποιώντας τον IE6. Αυτή η κατάσταση ήταν εξαιρετική για τη Microsoft (MS), καθώς οι προγραμματιστές ιστοσελίδων έπρεπε να αγοράσουν προϊόντα της MS (π.χ. ο IE δεν μπορεί να χρησιμοποιηθεί χωρίς την αγορά των Windows), και ήταν πιο κερδοφόρο να παραμείνει μη συμβατό (δηλαδή η Microsoft ήθελε να γίνει το πρότυπο αποκλείοντας άλλες εταιρείες). Ως εκ τούτου, πολλοί ιστότοποι ήταν συμβατοί μόνο με τον IE6, και καθώς ο IE δεν ήταν συμβατός με τα πρότυπα ιστού, όλοι αυτοί οι ιστότοποι δεν αποδίδονταν καλά σε προγράμματα περιήγησης που συμμορφώνονταν με τα πρότυπα. Ακόμη χειρότερα, πολλοί ιστότοποι απαιτούσαν μόνο τον IE. Ωστόσο, εκείνη την εποχή, η Mozilla ξεκίνησε την ανάπτυξη του Firefox, σεβόμενη όσο το δυνατόν περισσότερο όλα τα πρότυπα ιστού (άλλα προγράμματα περιήγησης εφαρμόστηκαν για να αποδίδουν τις σελίδες όπως έκανε ο IE6). Καθώς όλο και περισσότεροι προγραμματιστές ιστοσελίδων ήθελαν να χρησιμοποιήσουν τα νέα χαρακτηριστικά των προτύπων ιστού, όλο και περισσότερες ιστοσελίδες υποστηρίζονταν περισσότερο από τον Firefox παρά από τον IE. Όταν το μερίδιο αγοράς του IE μειωνόταν, η MS συνειδητοποίησε ότι το να παραμείνει ασύμβατος με τα πρότυπα δεν ήταν καλή ιδέα. Ως εκ τούτου, η MS άρχισε να κυκλοφορεί νέες εκδόσεις του IE (IE8/IE9/IE10) που σέβονταν όλο και περισσότερο τα πρότυπα ιστού.
Το θέμα της μη συμβατότητας με το διαδίκτυο
Αλλά το θέμα είναι όλοι οι ιστότοποι που έχουν σχεδιαστεί για τον IE6: η Microsoft δεν μπορούσε να κυκλοφορήσει νέες εκδόσεις IE ασύμβατες με αυτούς τους παλιούς ιστότοπους που έχουν σχεδιαστεί με τον IE6. Αντί να συμπεραίνει την έκδοση του IE που έχει σχεδιαστεί ένας ιστότοπος, η MS ζήτησε από τους προγραμματιστές να προσθέσουν επιπλέον δεδομένα (
X-UA-Compatible
) στις σελίδες τους. Ο IE6 εξακολουθεί να χρησιμοποιείται το 2016Σήμερα, ο IE6 εξακολουθεί να χρησιμοποιείται (0,7% το 2016) (4,5% τον Ιανουάριο του 2014) και ορισμένοι ιστότοποι στο διαδίκτυο εξακολουθούν να είναι συμβατοί μόνο με τον IE6. Ορισμένοι ιστότοποι/εφαρμογές ενδοδικτύου δοκιμάζονται χρησιμοποιώντας τον IE6. Ορισμένοι δικτυακοί τόποι ενδοδικτύου είναι 100% λειτουργικοί μόνο στον IE6. Αυτές οι εταιρείες/τμήματα προτιμούν να αναβάλλουν το κόστος μετάβασης: άλλες προτεραιότητες, κανείς δεν γνωρίζει πλέον πώς υλοποιήθηκε ο ιστότοπος/η εφαρμογή, ο ιδιοκτήτης του παλαιού ιστότοπου/εφαρμογής χρεοκόπησε... Η Κίνα αντιπροσωπεύει το 50% της χρήσης του IE6 το 2013, αλλά αυτό μπορεί να αλλάξει τα επόμενα χρόνια καθώς η κινεζική διανομή Linux μεταδίδεται. Να είστε σίγουροι για τις διαδικτυακές σας δεξιότητες
Αν (προσπαθείτε να) σεβαστείτε τα πρότυπα του ιστού, μπορείτε απλά πάντα να χρησιμοποιείτε
http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"
. Για να διατηρήσετε τη συμβατότητα με παλαιά προγράμματα περιήγησης, απλώς αποφύγετε τη χρήση των τελευταίων χαρακτηριστικών του ιστού: χρησιμοποιήστε το υποσύνολο που υποστηρίζεται από το παλαιότερο πρόγραμμα περιήγησης που θέλετε να υποστηρίξετε. Αν θέλετε να προχωρήσετε περισσότερο, μπορείτε να υιοθετήσετε έννοιες όπως Graceful degradation, [Progressive enhancement] και Unobtrusive JavaScript. (Μπορεί επίσης να σας ευχαριστήσει να διαβάσετε Τι πρέπει να λάβει υπόψη του ένας προγραμματιστής ιστού;). Μην ενδιαφέρεστε για την καλύτερη απόδοση της έκδοσης του IE: αυτό δεν είναι δική σας δουλειά, καθώς τα προγράμματα περιήγησης πρέπει να συμμορφώνονται με τα πρότυπα ιστού. Εάν ο ιστότοπός σας είναι συμβατός με τα πρότυπα και χρησιμοποιεί τα μετρίως πιο πρόσφατα χαρακτηριστικά, επομένως οι φυλλομετρητές πρέπει να είναι συμβατοί με τον ιστότοπό σας. Επιπλέον, δεδομένου ότι υπάρχουν πολλές εκστρατείες για την καταστροφή του IE6 (IE6 no more, MS campaign), σήμερα μπορείτε να αποφύγετε να σπαταλάτε χρόνο με δοκιμές IE! Προσωπική εμπειρία από τον IE6Το 2009-2012, εργαζόμουν σε μια εταιρεία που χρησιμοποιούσε τον IE6 ως επίσημο μοναδικό επιτρεπόμενο πρόγραμμα περιήγησης. Έπρεπε να υλοποιήσω έναν δικτυακό τόπο intranet μόνο για τον IE6. Αποφάσισα να σεβαστώ το πρότυπο ιστού, αλλά να χρησιμοποιήσω το υποσύνολο (HTML/CSS/JS) που μπορεί να χρησιμοποιηθεί από τον IE6. Ήταν δύσκολο, αλλά όταν η εταιρεία πέρασε στον IE8, ο ιστότοπος εξακολουθούσε να αποδίδεται καλά, επειδή είχα χρησιμοποιήσει τον Firefox και το firebug για να ελέγξω τη συμβατότητα με το πρότυπο ιστού ;)
Χρησιμοποιήστε το για να αναγκάσετε τον IE να αποκρύψει αυτό το ενοχλητικό κουμπί συμβατότητας του προγράμματος περιήγησης στη γραμμή διευθύνσεων:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />