我正在编写要拆分为几个模块的脚本。“基线”模块将支持旧版浏览器,它们不支持新语法,例如 === 和 Promise。
如果浏览器通过功能检查,将加载“高级”模块。
我的问题是,如何检查浏览器是否支持===
operator 和.then(function(){})
promise 语法而不首先实际使用它们,并在旧浏览器中导致语法错误?
if (/*what goes here*/) {
var script = document.createElement('script');
script.src = '/advanced.js';
script.async = false;
document.head.appendChild(script);
}