javascript - 检查模板文字是否在脚本中可用
问题描述
我正在尝试找到一种方法来检查给定浏览器是否支持 JS 中的模板文字。这个想法是如果浏览器不支持ES6功能,则将Babel创建的不同脚本传递给它们。所以我正在尝试:
function check_es6() {
try { `foo` }
catch (e) { return false; }
return true;
}
alert(check_es6());
但是,在我的旧 iPhone 上,我得到:
无效字符位于 https://m.xxx.org/2018/js/app.js的第 141 行,位于 1 页。
出现在 Mobile Safari 7 中。最后一次出现在 20 分钟前。迄今为止发生过一次。在页面加载之前发生。
第 141 行是:
try { `foo` }
有没有更好的方法来做我需要的事情?
解决方案
好的,所以设法自己解决了:)
try { eval("`foo`"); }
当浏览器不支持模板文字时,现在正确显示“false”,而在以后支持的浏览器中显示“true”。
推荐阅读
- c# - 使用 TimeZoneInfo.ConvertTime() 获取本地化日期时间时结果不正确
- jquery - jQuery .remove() 对 null 元素有什么作用?
- angular - 调用取消订阅后,茉莉花不会继续执行订阅回调中的代码
- azure - 带有 Javascript 运行时的 Azure 函数读取 httptrigger 请求很慢
- java - 从 JButton 菜单(java)中单击 JLabel 时不显示图像
- random-forest - h2o DRF 看不见的分类值处理
- c++ - 在 C++11 中没有开销的别名模板最佳替代方案的专业化
- facebook-messenger-bot - 通用模板和列表模板不起作用
- kubernetes - Kubernetes 集群中运行的 Pod 需要什么目标端口
- json - JSON文件解析问题