In my JavaScript I have a function detectEnvironmentAndGetLEAndDepot()
which is called onload
via HTML. I'm working with wicket, and need to take values held in the back-end, so I fire them to the screen, hide them, and search the <span>
values from my JS for the name
value, for example if(v.getAttribute('name') === 'LE'){do stuff}
or if(v.getAttribute('name') === 'depot'){do stuff}
(I'm sure not the most elegant solution, but I needed a quick one!). Then within the function detectEnvironmentAndGetLEAndDepot()
I do a bit of formatting etc so the data is usable.
detectEnvironmentAndGetLEAndDepot()
function (quite long, only relevant part) -
detectEnvironmentAndGetLEAndDepot = function() {
Array.from(document.getElementsByTagName('span')).forEach(function(v) {
//Search name tag for particular names, then do formatting
}
When I open this in IE11 I get the error in a popup SCRIPT438: Object doesn't support property or method 'from'
which is related to the first line of the method above - the Array
class. Help much appreciated.
As Array.from
method is not supported by IE, you can try to use:
[].slice.call(document.getElementsByTagName('span')).forEach(function(v) {});
This doesn't require usage of any 3rd party libraries.
You could use an ES2015 polyfill, like es6-shim, Array.from or Babel polyfill
As explained by Mozilla here, the Array.from
function is not yet supported by IE
you can use instead _underscore.js with function _.toArray(document.getElementsByTagName('span'))
...
FYI:
'Array.from' not supported in the following document modes: Quirks, Internet Explorer 6 standards, Internet Explorer 7 standards, Internet Explorer 8 standards, Internet Explorer 9 standards, Internet Explorer 10 standards, Internet Explorer 11 standards. Not supported in Windows 8.1.
来源:https://stackoverflow.com/questions/35576694/ie-11-angularjs-error-object-doesnt-support-property-or-method-from