如何让`let`语句在主要的三个浏览器上运行?

时间:2015-01-17 12:17:28

标签: javascript html google-chrome internet-explorer firefox

Firefox requires使用<script type="application/javascript;version=1.7">激活ES6 let语句支持。

  

注意:let关键字仅适用于包含在&lt; script type =“application / javascript; version = 1.7”&gt;中的HTML中的代码块。块(或更高版本)。 XUL脚本标签可以访问这些功能,而无需使用此特殊块。

但是,这似乎实际上会停用Internet Explorer和Chrome上的整个脚本,因为他们的调试器不再显示脚本。

示例:http://embed.plnkr.co/7YvyDZfPRsijqrHJnhMf/preview

有没有办法在IE / Chrome上使用application/javascript;version=1.7,或在没有let属性的情况下在Firefox上使用ES6 type

是否有任何黑客为所有主流浏览器激活let语句支持,而它们的实现不符合100%标准?

2 个答案:

答案 0 :(得分:5)

你问的是错误的问题。您不应该问其他浏览器何时<script type="application/javascript;version=1.7">可用,但Firefox(和其他浏览器)何时会发送let keyword as defined by the ECMAScript 6 standard。 “JS 1.7”是一种非标准的Firefox专用内容,Firefox中的let与ES6的let关键字略有不同。

要知道何时let(以及const和阻止范围)已准备就绪,请按照以下问题进行操作:

答案 1 :(得分:0)

虽然我们等待Firefox对ES6 let关键字的标准支持,但您可能希望根据您使用服务器端代码的浏览器类型动态加载脚本(如果您发生的话)实现服务器端Web框架)

您可能需要检查用户代理字符串以检测浏览器:

http://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx