繁体   English   中英

有没有办法警告使用IE版本不支持的JavaScript功能?

[英]Is there a way to warn about using JavaScript features not supported in IE versions?

我在一家使用Typescript进行大多数新开发的商店里工作,所以我们非常习惯使用箭头功能之类的ES6功能,并通过转换步骤使它们对于Internet Explorer而言是安全的。 但是这周我不得不编辑一个现有的js文件(没有转译),并且愚蠢地使用了箭头功能。 这在我的现代开发浏览器中工作正常,但是在IE 9下进行了质量检查。

因此,我知道这是我的愚蠢错误,但是我想知道是否有工具可以警告是否使用不符合特定浏览器版本的功能来进行双重检查? 如果它具有Visual Studio集成,那就太好了,但是我没有问题,可以在我的工作流程中添加命令行步骤。 我看着ESHint,但没有看到这样的规则。

如果您只是在谈论IE(我对Typescript一无所知)和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函数中并做出相应的反应(好吧,所以它仅适用于IE版本,Edge或其他版本,但是...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM