在我的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
类有关。非常感谢。
答案 0 :(得分:6)
IE不支持Array.from
方法,您可以尝试使用:
[].slice.call(document.getElementsByTagName('span')).forEach(function(v) {});
这并不需要使用任何第三方库。
答案 1 :(得分:2)
您可以使用ES2015 polyfill,例如es6-shim,Array.from或Babel polyfill
答案 2 :(得分:1)
正如Mozilla here所解释的那样,IE尚不支持Array.from
功能
答案 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。