IE 11 AngularJS错误 - 对象不支持属性或方法'from'

时间:2016-02-23 11:44:41

标签: javascript html angularjs internet-explorer-11

在我的JavaScript中,我有一个函数detectEnvironmentAndGetLEAndDepot(),它通过HTML称为onload。我正在使用wicket,需要获取后端保存的值,因此我将它们激活到屏幕,隐藏它们,并从我的JS中搜索<span>值以获取name值,例如if(v.getAttribute('name') === 'LE'){do stuff}if(v.getAttribute('name') === 'depot'){do stuff}(我肯定不是最优雅的解决方案,但我需要一个快速的解决方案!)。然后在函数detectEnvironmentAndGetLEAndDepot()中我做了一些格式化等工作,因此数据可用。

detectEnvironmentAndGetLEAndDepot()功能(很长,只有相关部分) -

detectEnvironmentAndGetLEAndDepot = function() {

    Array.from(document.getElementsByTagName('span')).forEach(function(v) {

//Search name tag for particular names, then do formatting
}

当我在IE11中打开它时,我在弹出窗口SCRIPT438: Object doesn't support property or method 'from'中收到错误,该错误与上面方法的第一行 - Array类有关。非常感谢。

4 个答案:

答案 0 :(得分:6)

IE不支持Array.from方法,您可以尝试使用:

[].slice.call(document.getElementsByTagName('span')).forEach(function(v) {});

这并不需要使用任何第三方库。

答案 1 :(得分:2)

您可以使用ES2015 polyfill,例如es6-shimArray.fromBabel polyfill

答案 2 :(得分:1)

正如Mozilla here所解释的那样,IE尚不支持Array.from功能

Browser compatibility

答案 3 :(得分:0)

您可以使用功能_.toArray(document.getElementsByTagName('span'))代替 _underscore.js ...

仅供参考:

  

'Array.from'在以下文档模式中不受支持:Quirks,Internet   Explorer 6标准,Internet Explorer 7标准,Internet Explorer   8个标准,Internet Explorer 9标准,Internet Explorer 10   标准,Internet Explorer 11标准。 Windows不支持   8.1。

source