2014-02-25 2 views
6

Ich muss prüfen, ob der verwendete Browser meine Seite mit AngularJS Version 1.2.12 unterstützt. Das Ziel ist, eine Nachricht zu zeigen, dass Sie Ihren Browser für alte Versionen von Chrome/Safari/IE aktualisieren/ändern sollen. Feature-Erkennung wird im Allgemeinen empfohlen, aber für Probleme wie diese: https://github.com/angular/angular.js/issues/4749 wo ausgewählte Elemente ihre Werte nicht aktualisieren, sowie einige andere IE8 Probleme, Funktionserkennung scheint nicht relevant, so dass ich Folgendes verwenden möchte:Wie überprüfe ich die Browserunterstützung für AngularJS?

<!--[if IE]> 
less than IE10 
<![endif]--> 

Gibt es eine AngularJS-Methode, um Unterstützung für seine Funktionen zu erkennen? Sollte ich überhaupt nach alten Versionen von Chrome/Safari suchen?

+0

Siehe hier: http://docs.angularjs.org/guide/ie –

+0

Die Sachen in der Anleitung funktionieren nicht für das Problem, das ich verlinkt habe. Und die in dem Link aufgelisteten Lösungen funktionieren nur für IE10 und nicht für IE8, zumindest in meinem Fall. – Cekk

Antwort

5

In unserem Projekt verwenden wir einen bedingten HTML-Kommentar, um festzustellen, welche Version von IE ausgeführt wird. Etwas unter den Linien:

<!--[if IE 8]><html class="lt-ie9"><![endif]--> 

Sie können auch Modernizr verwenden, die Feature-Erkennung hat.

In Bezug auf andere Browser sollten Sie in Ordnung sein, da sie sich regelmäßig aktualisieren und wir kein bestimmtes Problem finden, das sich nur auf eine bestimmte Version bezieht.

+0

Wissen Sie, ob es Features von Modernizr gibt, die speziell von AngularJS benötigt werden? – Cekk

+0

Soweit ich weiß, benötigt AngularJS keine spezielle Funktion vom Browser um korrekt zu funktionieren. Sie sollten sich nur der Fehler innerhalb des Browsers bewusst sein (dh IE8/IE9 wird nicht richtig dargestellt, wenn die Optionen eines Auswahlelements dynamisch geändert werden). – Wawy