2016-12-15 45 views
-2

我开发了一个AngularJs应用程序。该应用程序在工作完全正常的谷歌浏览器Mozilla Firefox浏览器,但是当我在Safari浏览器IE-11测试该应用程序。它在控制台中显示错误。Safari和IE中的EcmaScript错误

像我使用这个代码在很多地方开了引导模式

$modal.open({ 
    templateUrl: "dummyTemplate.html", 
    controller: "DummyControllerName", 
    controllerAs: "vm", 
    windowClass: 'popupModal', 
    size: 'sm', 
    resolve: { 
     dummyData: function(){ return object; } 
    } 
}).result.then(data => { 

}); 

enter image description here

的其他代码片段

$rootScope.$on("toastIt", (e, d) => { // <- It show error on this line in IE and Safari 
    toaster.pop(d.type || 'success', d.title, d.text); 
}); 

我知道这个问题的原因是刚由于EcmaScript支持。 Internet Explorer和Firefox不支持这一点。

任何一个可以建议我会是怎样来解决这个问题,在Safari中启用和IE我的AngularJs应用的支持的最佳途径。

如果我将选择选项修改代码的格式,然后有很多地方,它会花费太多时间。有没有其他更好的选择来解决它?

+0

什么是确切的错误? – CodingIntrigue

+0

*“它在控制台中显示错误。”* ***什么***错误? –

+0

我已经更新@str这个网站告诉我关于支持@ T.J.Crowder – UFFAN

回答

2

听起来好像你说你得到一个错误,因为你在IE11中使用了箭头函数。事实上,IE11不支持ES2015及以上版本的箭头功能或各种其他部分。 (任何从过去几个月的Firefox版本确实

的解决方案是transpile您ES2015 +代码ES5代码与transpiler(如Babel)。您将这作为构建步骤的一部分,并部署经过转换的ES5兼容代码。

或者,当然,只使用由目标浏览器(例如,如果针对IE11不使用箭头功能)支持的功能。

0

你的决心线缺少结束} - 你有这个(删除的东西,是不相关):

$modal.open({ 
    ... 
    resolve: { 
    smudgedOut: function(){ return response.data 
    } 
}) 

应该是:

$modal.open({ 
    ... 
    resolve: { 
    smudgedOut: function() { return response.data; } 
    } 
}) 

至少,从你出什么我们在铬开发工具,这是问题。

+0

它不会丢失}。它的裁剪图像。我发布了完整的代码,并且只是发布图像以显示错误消息。 – UFFAN

+0

@UFFAN:这是一些有趣的剪裁。 :-)建议删除它并将错误文本包含为文本。 –

+0

我已更新错误屏幕截图。希望现在不会有混乱 – UFFAN