Nachteile der Verwendung von Internet-Explorer-Kompatibilitäts-Modus
Was sind die Nachteile der Kraft einer Website angezeigt im IE zu kompatiblen Modus? Sagen wir erzwingen, IE9, Sie zu IE8 compatibility mode setzen?
- Performance-Nachteile
- Können nicht alle neuen IE9 spezifischen Funktionen wie HTML5/CSS3/SVG
Warum?
Wir führen Sie legacy-web-app entwickelt wurde, ist seit dem Jahr 2000, so ist es ein Durcheinander ball kämpfen, um die Kompatibilität mit Chrome, Opera, Firefox, IE6/7/8 und nun beschließen wir, zum hinzufügen von IE9 auf der Liste. Aber mit IE9 laufen wir in Probleme mit dem Druck, die "Erlaubnis deniend" JavaScript-Fehler (vermutlich etwas über frame-übergreifende JavaScript-Aufrufe) und die nächsten Fragen - die einfache Problemumgehung ist, zu erzwingen, IE9 verhält sich wie ein IE8 und dann funktioniert alles einwandfrei. Aber ich bin noch nicht sicher, ob es den Weg zu gehen...
- Dein Fehler höchstwahrscheinlich stammen aus Verwendung von code, der speziell gegen IE, das ist ein gutes Beispiel dafür, warum feature-Erkennung überlegen ist browser-Erkennung. Auch, zwingen IE 9 in Kompatibilität Modus ist definitiv nicht der Weg zu gehen - IE 10 ist gleich um die Ecke, so dass Sie im Idealfall unter Ausnutzung der besseren performance und verbesserten features von IE 9 und 10.
- Warum sollte ich die Mühe, über IE10? In unserem Fall interessiert uns nicht über neue features, interessieren wir uns nur über die gleiche Benutzer-Erfahrung für alle. Ja das können wir beheben alle bugs, aber es wird mehr Geld Kosten als dieses Update, also muss ich wissen - gibt es irgendwelche Nachteile, die am Ende bewirken, dass es mehr Kosten als fix IE9-Kompatibilität?
- Die verbesserten features gehören die Unterstützung getElementsByTagName. Das allein ist lohnt sich ein Upgrade...</Sarkasmus>
- Es könnte sich lohnen zu investieren Ihre Zeit und Geld auf Lösung-spezifische fixes Basis eines Frameworks wie YUI oder eventuell jquery, browser, wo Anomalien kann normalisiert werden. Bei der Prüfung für IE9, wir landeten.. 3 Stunden die Aktualisierung auf die neueste YUI Version... und alle unsere leiden beseitigt wurden, kostenlos.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie eine öffentliche website wurde im Jahr 2000 entwickelt, und es funktioniert nicht mit modernen Browsern? Aufgelassen oder neu schreiben.
Nicht hack den code zur Unterstützung moderner Browser, die Webseite ist übersichtlich schlecht geschrieben und beziehen sich nicht auf standards. Sie nicht bekommen kann Weg mit diesem.
Der einzige Ort, wo man bekommen kann Weg mit diesem Grad an Inkompatibilität ist intranet-Anwendungen und selbst dann sollten Sie einfach "es funktioniert auf browser X, live with it"
Man kann nicht sagen, dass die öffentliche Verkleidung Kunden. Ich meine, Sie können es versuchen, aber haben Spaß verlieren Unternehmen Ihren Konkurrenten.
Re-entwickeln Sie Ihre website entsprechend der W3C-HTML - /CSS-standards und der ES5 standards und er wird ganz der Zukunft zugewandt (für einige Jahre).
Ach, die Art, wie das web funktioniert, ist, dass nichts mehr dann 5 Jahre alt ist, ist veraltet. Also entweder neu schreiben, damit es alle 5 Jahre oder sich aus dem web-Geschäft.
In Bezug auf tatsächlich im Kompatibilitätsmodus nicht. IE6-8 sind schrecklich-Motoren und sollte gemieden werden wie die Pest. Wenn Sie Sie verwenden, dann können Sie nicht schreiben, der Zukunft zugewandt standards compliant code.
Muss der code entsprechen den standards und Sie sollten fix /shim /patch alle browser-spezifischen bugs, wo diese Browser nicht der Umsetzung der standards.
Kann man nicht sagen, Sie haben getestet in IE6/7/8/9 bis Sie getestet haben, in diesen verschiedenen Versionen. Die Emulation der test-Umgebung ist nicht das gleiche wie mit der test-Umgebung. Meines Wissens IE7/8 Kompatibilität zu den älteren render-engines, nicht die zugrunde liegende browser als ganzes, Fehler und alle. Es ist closed-source, so dass Sie nie wissen.
Konvertieren von Microsoft kostenlos herunterladen virtual disk-images für cross-browser-testing zur Virtualbox-images und legen Sie Sie auf eine Maschine, die gerade läuft Virtualbox. Eine alte Maschine tun wird, laufen die VMs kopflos und greifen Sie mit remote desktop. Auf diese Weise werden Sie in der Lage zu testen in allen Browsern ohne Belastung Ihrer Maschine, mit MS - /Spyware.
Glaube ich nicht, dass system-Administratoren können festlegen, IE Kompatibilitätsmodus für alle intranet-Datenverkehr mithilfe der Gruppenrichtlinien-Editor. Jede Website, die Sie erstellen, wird von diesem Punkt an, Sie können fügen Sie ein meta-tag, um zu erzwingen, IE9 nativ zu Rendern und alle neueren features...
Ich habe zu tun, dass auf meinem aktuellen Projekt mit dem folgenden doctype und meta-tag-in meinem Kopf:
<meta http-equiv="X-UA-Compatible" content="IE=80" />
Kompatibilitäts-Modus ist etwas, das MS eingeführt, um Leuten eine chance zu aktualisieren, Ihre Anwendungen, nicht für die langfristige Nutzung. AFAIU.
Wenn Sie möchten, dass Ihre Anwendung kompatibel mit IE9, müssen Sie es ändern. Wenn Sie versuchen, zu halten, IE6-9-Kompatibilität haben Sie dann eine echte Herausforderung, und Sie sollten sich überlegen, ob dies wirklich praktisch - im wesentlichen müssen Sie mindestens 2 verschiedene sets von html. Ist dies praktisch für Sie?
IE9 compatibility Modus ist anders als in IE9 und IE8 - es zieht-bits von beiden. So müssen Sie einen vollständigen test agaisnt die Kompatibilität-Modus-version, und sicherzustellen, dass es bleibt, arbeitet gegen diese.
So, in Antwort auf die Frage, die Nachteile sind, dass Sie nicht IE9-kompatibel ist, und es besteht die Gefahr, dass beim IE10 raus kommt, wird Ihr code nicht ausgeführt werden, dass Sie in einem beliebigen Modus. Sie setzen den Aufwand in den compatibilty Test, ohne für künftige Veränderungen. Sie würden besser tun, die langfristig, um Ihren code zu IE9 kompatibel. Auch die Nachricht, die Sie geben Ihrem Kunden ist, dass Sie Ihre code-Basis ist nicht kompatibel zu sein für viel länger. Es sei denn, Sie sprechen Sie über ein re-Arbeit, das ist ein echtes negativ.
Aber es klingt wie Sie Ihre gesamte code muss ein re-Arbeit, zu vergessen, IE6 und geschrieben werden, die für die moderne Arbeits-Browsern. Mit Kompatibilitätsmodus, bis das passiert ist vermutlich OK. Wenn Sie dies tun - und sagen Sie Ihren Kunden - dann bleiben im Kompatibilitätsmodus tragfähig ist.
Kompatibilitätsmodus wird NICHT dazu führen, die browser verwenden, der JavaScript-engine, dass war in der alten version des IE.
Damit meine ich, dass es laufen wird, beliebigen JavaScript-code mit der IE9-engine. Das war ein problem für uns, wenn beim Debuggen eines alten Produkts, die hatte ein problem mit dem IE7/8.