2017-03-23 1 views
2

Ich möchte JavaScript Version in meinem Webbrowser überprüfen.Wie überprüft man die JavaScript-Version im Webbrowser?

Ist navigator Objekt zurückgeben richtige JavaScript-Version?

navigator.appVersion; /*Is it correct?*/ 
navigator.appCodeName; 
navigator.appName; 

Gibt es eine Möglichkeit sonst genaue JavaScript Version von Browser console oder irgendetwas zu erkennen?

+1

Bereits gefragt hier: http://stackoverflow.com/questions/4271566/how-do-i-know-which-version-of-javascript-im-using – exoslav

+0

Was planen Sie zu tun, sobald Sie erkannt haben die Version, was auch immer das bedeutet? –

+0

Ich möchte Warnung/Warnung für Benutzer anzeigen, wenn einige neue Funktionen der neuesten Javascript-Version nicht unterstützt werden aktuelle (alte) Version von Javascript im Client-Browser. @torazaburo –

Antwort

2

Browser geben keine echte Version, weil sie nicht genau eine Version unterstützen. Sie unterstützen einige (oder die meisten) Funktionen einiger Versionen.

Jede Unterstützung, die für "JavaScript 1.x" deklariert wird, ist nur a legacy hack for compatibility with Netscape.

In ähnlicher Weise sind diese navigator Felder nutzlos absichtlich. In der Vergangenheit wurden sie missbraucht, um Browser so sehr zu blockieren, dass die Spezifikation jetzt recommends all browsers to lie and say they are Netscape 4.0.

Im Internet sollten Sie im Allgemeinen die Version von nichts überprüfen, um zu entscheiden, ob sie die von Ihnen benötigten Funktionen unterstützt, da es zu einfach ist, eine ungültige Annahme zu treffen und Ihren Code in einem Browser zu brechen, einschließlich zukünftiger t t test jetzt (z. B. eine Funktion möglicherweise nicht mit der Version, die Sie annehmen, oder Browser möglicherweise lügen über Versionen, die sie unterstützen, um Websites zu umgehen, die sie blockieren).

Sie sollten stattdessen feature detection verwenden.

Sie können das Vorhandensein einzelner JavaScript-Funktionen erkennen, indem Sie sie ausführen und prüfen, ob sie funktionieren. Wenn für die neue Funktion eine neue Syntax erforderlich ist, können Sie versuchen, diese Syntax innerhalb von eval auszuführen. Sehen Sie, wie es gemacht wird: https://kangax.github.io/compat-table/es6/ (es gibt ein (c) Icon mit Erkennungscode neben Funktionen, wenn Sie die Liste erweitern).

+0

Vielen Dank für Ihre Erklärung! Ich habe meine Frage aktualisiert. Bitte prüfe. –

Verwandte Themen