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

标签 javascript internet-explorer static-analysis

我在一家使用 Typescript 进行大多数新开发的商店工作,因此我们非常习惯使用 ES6 功能(如箭头函数),并通过转译步骤使它们对 Internet Explorer 来说是安全的。但这周我不得不编辑一个现有的 js 文件(没有转译)并愚蠢地使用了箭头函数。这在我的现代开发浏览器中运行良好,但在 IE 9 下的 QA 中出现问题。

所以我知道这是我的愚蠢错误,但我想知道是否有工具可以警告是否使用不符合特定浏览器版本的功能来进行双重检查?如果它有一个 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 函数并做出相应的 react (好吧,所以它只适用于 IE 版本、Edge 或其他版本...但是...)

关于javascript - 有没有办法警告使用 IE 版本不支持的 JavaScript 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37753790/

相关文章:

javascript - `.map` 不是用于循环吗?

javascript - 我如何使用 javascript 设置文本框的值

javascript - 你如何阅读 ramda 文档?

python - 在 Django 提供的 IFrame 中显示 PDF 时,IE 8 崩溃

css - Suckerfish 下拉菜单在 IE 8 中不起作用

c - 类型检查和代码模式检测,Frama-C

javascript - 单击时,在 d3.js 中将其他数据显示在单独的 div 中;按值(value)传递

java - PMD 报告超过 X 次违规

gcc - 如何知道哪些代码已经优化出来了?

internet-explorer - 富文本 (YUI) 编辑器在 IE11 上损坏