【问题标题】:How can I test for Ecmascript 6 in the browser in one line of code? [duplicate]如何用一行代码在浏览器中测试 Ecmascript 6? [复制]
【发布时间】:2017-01-13 05:25:26
【问题描述】:

如何在一行代码中查看用户正在运行 ES6 或更高版本?

我不是在谈论将代码从 ES6 转换为 JavaScript 我是在谈论检查浏览器是否支持 ES6 或将代码标记为 ES6。 JavaScript script 标签不是有版本,我们可以指定 EcmaScript6 吗?

根据document我可以在Firefox中设置版本号,但这表明这不是标准功能,

...在 Firefox 中,您可以使用高级功能,例如 let 语句和 以后 JS 版本中的其他功能,通过使用 类型=应用程序/javascript;版本=1.8。但是请注意,作为 这是一个非标准功能,这很可能会破坏支持 对于其他浏览器,尤其是基于 Chromium 的浏览器。

【问题讨论】:

  • 检测 ES2015+ 特性的语法变化(箭头函数、生成器、异步/等待)的问题在于,您不能在您尝试检测的文件中使用这种新语法。新语法可用 - 我想你可以根据这种语法的可用性动态加载不同的 js,但这意味着你在服务器上无论如何都有相同代码的 ES5 和 ES2015+ 版本......大概使用转译器从从现代到旧......现在只需在任何地方使用旧版本
  • @JaromandaX 如果我无法使用 JavaScript 检测 ES6,那么我该如何检测呢?我的应用需要 ES6 功能。我没有转译成 JS。
  • 您是否阅读了前两个 cmets 中链接的问题中已接受的答案...您就是这样做的

标签: javascript html


【解决方案1】:

首先尝试查找这些链接。

  1. http://kangax.github.io/compat-table/es6/
  2. http://caniuse.com/#search=ecmascript
  3. http://caniuse.com/#feat=es6-class

然后尝试在 JavaScript 中使用对象检测来查看是否有任意数量的所需功能可用。

还可以查找浏览器统计信息表,如以下链接: http://www.w3schools.com/browsers/default.asp

通常,当小于 1% 的网络访问者使用浏览器时,公司并不关心浏览器。他们开发补丁的成本太高,因为 99% 的人不会使用该补丁。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    • 2012-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多