Eine mögliche Lösung besteht darin, eine fixe serverseitige Version im Header zu implementieren, wie in dieser netten Beschreibung von Aaron Layton vorgeschlagen. (Alle Ehre sollte ihm gelten, und ich werde es eher umschreiben als plagiieren ...)
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
"Wenn Internet Explorer auf diese Zeile stößt, ändert sich die Engine, die zuerst für Chrome Frame verwendet wird, wenn das Plugin installiert ist, und dann für Edge (den am höchsten unterstützten Dokumentmodus des Browsers)."
Schritte :
- Korrektur der Seitenüberprüfung - Dies wird durch einfaches Entfernen des Tags erreicht
- Rendergeschwindigkeit - Anstatt darauf zu warten, dass der Browser das Tag sieht und dann den Modus ändert, senden wir den richtigen Modus im Voraus als Antwortheader
- Stellen Sie sicher, dass nur das Update für Internet Explorer angezeigt wird. Wir verwenden nur eine serverseitige Browsererkennung und senden sie nur an den Internet Explorer
Um den Header in PHP hinzuzufügen, können wir diesen einfach zu unserer Seite hinzufügen:
if (isset($_SERVER['HTTP_USER_AGENT']) &&
(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false))
header('X-UA-Compatible: IE=edge,chrome=1');
Oder Sie können es wie folgt zu Ihrer .htaccess-Datei hinzufügen:
<FilesMatch "\.(htm|html|php)$">
<IfModule mod_headers.c>
BrowserMatch MSIE ie
Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
</IfModule>
</FilesMatch>
Link zum Originalartikel, überprüfen Sie die Kommentare auf mögliche Einschränkungen. Enthält auch eine Implementierung für C #.
Fix Schlechter Wert X-UA-kompatibel ein für alle Mal
Hoffe das hilft!