扫描的JavaScript的浏览器兼容性(Scan Javascript for browser c

2019-08-18 05:47发布

是否有一个工具,在那里扫描我的Javascript代码的功能可能不会出现在所有的浏览器?

我的图书馆是完全非UI,所以我不关心的东西是如何“显示”。 我正在寻找的是类似从Mozilla的JavaScript的MDN。 例如,对于Array.prototype.indexOf,他们警告说,这是一个最近的ECMAScript添加,这是并非所有的浏览器(和通常提供一个stub)。 我正在寻找的是一个工具,它会列出我的代码,将属于这一类的功能。

Answer 1:

您可以使用eslint-插件-compat的 ,一个插件为ESlint掉毛效用。 你甚至可以使用Browserlist配置要支持的浏览器。

安装非常方便。 你必须安装eslint和这个插件:

npm install --save-dev eslint-plugin-compat

要么

yarn add --dev eslint eslint-plugin-compat

并添加ESlint配置文件:

// .eslintrc
{
  "extends": ["plugin:compat/recommended"]
}

支持的浏览器添加到您package.json文件:

// sample configuration (package.json)
{
  // ...
  "browserslist": ["last 2 Chrome versions", "IE 11"],
}

然后运行棉短绒:

eslint yourfile.js

在我的情况,这是输出:

92:9   error  Promise.all() is not supported in IE 11  compat/compat
94:9   error  Promise.all() is not supported in IE 11  compat/compat


Answer 2:

更新:

看一看在从斯蒂芬Vierkant的答案 ,显示了插件来解决这个问题。


有没有这样的工具,而且有很多浏览器 。

我认为这是对你的扫描兼容性代码为“所有”的浏览器,虽然这确实是一个有用的东西的替代方法。 大多数人做以下两件事情,以确保一定程度的跨浏览器的兼容性。

使用库

你可以使用像一个图书馆underscore.js , jQuery的 , 道场 , Modernizr的 ,等等那套浏览器不兼容为您服务。 所以,你可以使用例如jQuery.inArray,这将在工作jQuery的与你使用一个通用的接口涵盖了所有的浏览器。

限制浏览器支持

决定你想要与你的应用程序支持哪些浏览器,这个状态在您的网站,然后在这些浏览器的测试。 要么本身,如果你有,或使用类似browserstack做测试的浏览器你没有。 这个答案还列出了这个更多的选择。

而在最后,有依靠在编写代码时的最佳实践和切身体会。



Answer 3:

更新:

是好还是坏,检查者不再可用。


搜索同样的问题(这几年后),我撞到了 JavaScript的兼容性检查

它给了我在我的剧本似乎如何兼容,与主流浏览器的提示。



文章来源: Scan Javascript for browser compatibility