ie8对象不支持extjs代码

时间:2015-05-05 15:53:50

标签: javascript angularjs extjs backbone.js extjs4

  • 我收到以下错误:ie8
  • 中的“Object doesn't support this property or method
  • in chrome fine
  • 当我调试ie8中的ext js代码时,它显示为undefined for region.getWorld();
  • 但是当我在Chrome浏览器中看到它时,我得到了值
  • 在下面提供我的代码,你们可以告诉我这是什么问题
allWidth: function() {
    var me = this,
        states = me.getstates(),
        waterY = 0,
        placeY = 0,
        World;

    states.forEach(function(region) {
        World = region.getWorld();
        if (World.y < placeY) {
            placeY = World.y;
        }
        if (World.y + World.height > waterY) {
            waterY = World.y + World.height;
        }
    });

    return waterY - placeY;
},

1 个答案:

答案 0 :(得分:2)

IE8不支持数组的forEach方法。你有几个选择来解决这个问题。

您可以使用普通for循环:

for(var i = 0; i < states.length; i++){
    var region = states[i];
    /* ... */

由于您使用的是extjs,因此您也可以使用Ext.each方法:

Ext.each(states, function(region){
...

或者您可以使用填充/填充来在IE8中添加forEach方法。

您可以在MDN here上找到forEach方法的填充。