2016-06-10 58 views
1

我在一家使用Typescript进行大多数新开发的商店中工作,所以我们非常习惯于使用箭头函数等ES6功能,并通过扩展步骤使它们对Internet Explorer安全。但是这个星期我不得不编辑一个现有的js文件(它没有转译)并且愚蠢地使用了一个箭头函数。这在我的现代开发浏览器中运行良好,但在IE9下打破了QA。有没有办法警告使用IE版本不支持的JavaScript功能?

所以我知道这是我愚蠢的错误,但我想知道是否有工具可以警告如果功能不符合特定浏览器版本是用来作为双重检查?如果这有一个很棒的Visual Studio集成,但我没有任何问题,可以在我的工作流中添加命令行步骤。我看着ESHint,但没有看到这样的规则。

+1

IE9是一个很棒的工具,用于检查您的脚本在IE9中是否在语法上是正确的; P – Paulpro

+0

是的很明显,我会将IE 9包括进我的自测中。如果我可以创建一个很好的自动警告。 –

回答

-1

如果你只是说IE(我什么都不知道打字本)和Visual Studio,您可以使用VS如下:

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) 

这将返回本地计算机的IE版本 - 这就是你想?

如果没有,使用Javascript可以检测到它正在使用这个脚本的浏览器:

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 

把它放在你的onload功能,并相应地做出反应(OK,所以它只做IE版本,边缘,或其他...但是...)