2016-06-10 9 views
1

Ich arbeite in einem Geschäft, das Typescript für die meisten Neuentwicklungen verwendet, so dass wir sehr daran gewöhnt sind, ES6-Funktionen wie Pfeilfunktionen zu verwenden und sie für den Internet Explorer durch den Transpirationsschritt sicher zu machen. Aber diese Woche musste ich eine vorhandene js-Datei bearbeiten (die keine Transpilation hat) und dummerweise eine Pfeilfunktion verwendete. Dies funktionierte gut in meinen modernen Entwicklung Browsern, aber in QA unter IE 9 brach.Gibt es eine Möglichkeit, vor JavaScript-Funktionen zu warnen, die in IE-Versionen nicht unterstützt werden?

Also ich weiß, das ist meine dumme Fehler, aber ich frage mich, ob es Werkzeuge gibt, die vor Features warnen können, die einen bestimmten Browser nicht erfüllen Version werden als Doppelprüfung verwendet? Wenn dies eine Visual Studio-Integration hätte, wäre das wunderbar, aber ich habe kein Problem, meinem Arbeitsablauf einen Befehlszeilenschritt hinzuzufügen. Ich schaute auf ESHint, sah aber diese Art von Regel nicht.

+1

IE9 ist ein großartiges Werkzeug zur Überprüfung, ob Ihre Skripte in IE9 syntaktisch korrekt sind, P – Paulpro

+0

Ja klar und ich werde IE 9 in meine Selbsttests aufnehmen. Und wenn ich eine automatische Warnung erstellen könnte, wäre das nett. –

Antwort

-1

Wenn Sie nur IE sprechen (ich weiß nichts von Typoskript) und Visual Studio, können Sie die folgenden in VS verwenden:

WinPath = System.Environment.GetEnvironmentVariable("SystemRoot") ''MsgBox(WinPath) 

    On Error Resume Next 

    Dim ver = FileVersionInfo.GetVersionInfo(WinPath & "\system32\ieframe.dll") 
    Dim IE = Val(ver.ProductVersion) ''MsgBox(IE) 

Dies wird die lokale Maschine IE-Version zurückkehren - ist es das, was Sie wollen?

Wenn nicht, können Javascript erkennen, welchen Browser sie durch dieses Skript verwendet wird:

var browser=navigator.userAgent; 
var IE=browser.search(/(MSIE ?[7891]|Trident|Edge\/)/i); //=-1: not MS 
if (IE!=-1) { 
    T=browser.substr(IE,7); 
    if (T.search(/^M/)==0) IE=parseInt(T.substr(4)); 
    else if (T.search(/^T/)==0) IE=11; 
    else IE=12; //Edge 
} 
else IE=13; //not IE,Edge 

es Setzen Sie Ihre onload Funktion und entsprechend reagieren (OK, es funktioniert nur IE-Version, Edge oder andere ... aber ...)