我的Javascript代码中是否有用于检测浏览器兼容性问题的工具?

时间:2016-07-08 01:29:58

标签: javascript cross-browser browser-support

我正在编写一个Javascript库,我希望能够通过一些工具来运行它

  1. 检测与某些浏览器不兼容的任何方法,和/或
  2. 告诉我哪些浏览器支持我的代码。
  3. 到目前为止,我找不到像这样的任何。它真的不存在吗?


    之前的研究:

    • 我发现http://caniuse.com用于检查具体方法,但它无法帮助我找出我不知道的问题。
    • 我已阅读question after question有关浏览器兼容性的信息,但未发现任何相符的内容。
    • 我找到了一堆用于在不同浏览器中运行我的单元测试的工具(例如,Sauce Labs),但这并不是我想要做的事情。

3 个答案:

答案 0 :(得分:1)

我建议你使用这个网站http://jscc.info/ 它在过去完成了我的工作。

答案 1 :(得分:0)

您可以使用 eslint-plugin-compat,这是 ESlint linting 实用程序的插件。您甚至可以使用 Browserlist 来配置您想要支持的浏览器。

Nice animation about eslint-plugin-compat

安装非常简单。你必须安装 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"],
}

然后运行 ​​linter:

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

答案 2 :(得分:-1)

你看过Modernizr吗? https://modernizr.com/

来自网站: Modernizr会告诉您用户浏览器提供的HTML,CSS和JavaScript功能。

这是一系列超高速测试 - 或“检测”我们喜欢称之为 - 在您的网页加载时运行,然后您可以使用结果为用户量身定制体验。

因此,使用Modernizr,您可以进行功能检测,我相信您可以为旧浏览器插入填充程序。