2017-03-18 233 views
0

我有一个网站使用Modernizr检查浏览器是否支持es6。IE 11,Modernizr和SCRIPT1002语法错误

我有这样的脚本:

if (Modernizr.es6number) { 
     Object.keys(objFiltri).map(key => objGrid_CustomFilter.perQuery[key] = objFiltri[key]); 
    } else { 
     labelsPrint.map(function (key) { objGrid_CustomFilter.perQuery[key] = objFiltri[key] }); 
    } 

在IE11代码

Modernizr.es6number 

回假,但IE浏览器给我一个错误(SCRIPT1002不正确的语法),因为不能识别器ES6方法。地图。

我的问题是,如果IF回报FALSE,为什么IE通过TRUE情况? 我该如何避免这种情况?

谢谢!

+0

包括babel js在你的代码中写入es6语法接受所有浏览器 –

+0

感谢您的回复,但我不能包含任何其他js文件或其他任何东西。 :( – Hikari

+0

es6的语法仍然没有被IE 11识别,我想是的。要使用polyfill,请使用babeljs。 –

回答

1

首先,代码不检查ES6支持,它检查是否支持一个单一功能。

更重要的是你定义了一个箭头函数,IE不支持箭头函数。整个(!)代码在执行前被解析。 IE甚至没有达到检查Modernizr.es6number的程度。

您不能使用浏览器不支持的语法。你不能在IE 11中使用箭头功能。

相关问题