在没有“unsafe-eval”的情况下检查基本的ES6支持

问题描述 投票:3回答:1

我想知道浏览器是否支持ECMAScript 6(ES6)(基本支持就足够了),但我也想使用合理的内容安全策略(CSP)头。我到目前为止的解决方案,见“Check if a browser supports ES6”,需要'unsafe-eval'。那么解决“Javascript ES6 cross-browser detection”的解决方案。有没有想过绕过这个?

    var supportsES6 = function() {
      try {
        new Function("(a = 0) => a");
        return true;
      }
      catch (err) {
        return false;
      }
    }();
javascript ecmascript-6 content-security-policy
1个回答
-1
投票

我想你想要检测es6支持的原因是要么决定是否提供es6代码或es5或显示错误。最简单的方法是使用es模块系统

<script type="module" src="script.es6.js"></script>
<script nomodule src="script.es5.js"></script>

支持es6的浏览器将加载script.es6.js并忽略script.es5.js,不支持es6的浏览器将忽略script.es6.js并加载script.es5.js

© www.soinside.com 2019 - 2024. All rights reserved.