2016-11-16 14 views
1

Ich habe eine allgemeine Frage. Ich arbeite an meinem ersten Programm in JavaScript und während ich an ihnen arbeite, habe ich einige seltsame "broken browser" -Probleme erlebt.Wie mit gebrochenen Browsern umgehen?

Während der Wochen der Arbeit an meinem Programm habe ich das Projekt oft auf verschiedenen Browsern und Computersystemen getestet. Dabei habe ich in bestimmten Versionen seltsames Verhalten bei Firefox und Chrome beobachtet. In beiden Fällen funktionierte das Programm in beiden Browsern einwandfrei, dann hatte ich plötzlich Probleme in Firefox unter Windows auf einem Rechner. Nach einigen Recherchen versuchte ich den Browser zu aktualisieren und das Problem war weg. Die gleiche Erfahrung, die ich in Chrome unter Linux hatte. Es funktionierte gut, dann hatte ich plötzlich Probleme mit Chrome 48. Ich testete das Programm auf Mac und Windows, alles war in Ordnung. Dann habe ich erkannt, dass die Browser auf dieser Maschine die Version 54 haben. Also habe ich auf meiner Linux-Maschine die neueste Version aktualisiert und das Problem war weg.

Meine Frage: ist es normal, dass solche Dinge mit bestimmten Versionen von Browsern passieren und wenn ja, wie man damit umgeht, wenn man an größeren Projekten arbeitet?

Edit: Aus den Antworten unten sehe ich, dass ich mit meiner Frage nicht klar war. In der Frage geht es nicht wirklich um browserübergreifende Kompatibilität, sondern vielmehr darum, warum ein Programm in Chrome v47 funktioniert, aber nicht in v48, und dann funktioniert es wieder in v54. Gleiches gilt für Firefox und andere Browser.

+0

neuere Versionen von Browsern neueren Scripting-Methoden zum Beispiel unterstützen, ECMAScript 6 wird von alten Browsern nicht unterstützt. Wenn Sie Benutzer älterer Browser unterstützen möchten, sollten Sie sicherstellen, dass diese Browser über Code verfügen. –

+0

Dass ein Problem weg ist, bedeutet nicht unbedingt, dass der Grund, der das Problem verursacht hat, ebenfalls verschwunden ist. Es kann immer noch vorkommen, dass Sie einen Fehler in Ihrem Code haben, der nur in bestimmten Browserversionen oder Situationen verfügbar ist und nicht, dass der Browser einen Fehler hat, der Ihr Programm zum Scheitern bringt. Ohne den Code zu kennen und wie er ausfällt, ist es nicht möglich zu sagen, ob das Problem der Code oder der Browser ist und wie damit umzugehen ist. –

Antwort

0

Sie müssen über Cross-Browser-Kompatibilität lesen. Jeder Browser kann verschiedene Implementierungen bestimmter Funktionen haben oder sogar nicht haben. Für ältere Browser wie IE8 und weniger sogar einfach window.innerWidth funktioniert nicht.

jQuery kann Ihnen helfen. Seine Bibliothek, die effektiv Cross-Browser-Kompatibilität für viele Fälle bietet. Eine weitere Möglichkeit zu testen, ob die Browserunterstützung ist eine Funktion Modernizr

mit Sie auch Unterstützung manuell von Websites wie caniuse.com überprüfen - vor allem für die CSS-Stile funktioniert aber auch js

Verwandte Themen