2014-12-12 4 views
1

일부 기존 코드를 작성 중입니다. Extjs 4로 업그레이드 한 후 애플리케이션 뷰 창 중 하나가 손상되었습니다. IE8이 아니라 Firefox에서 잘 작동합니다. 팝업 창이 열리면 잘못된 인수가 표시되고 디버거에서 Sytle [hook.name] = value와 같은 것으로 나타납니다.IE8 잘못된 인수

일부 게시물을 읽은 후 높이를 제거하려고했으나 여전히 작동하지 않습니다. 제발 조언.

감사합니다. 당신은 뒤에 쉼표를 가지고 같은

Ext.define(view.window.popupwindow', { 
    extend : 'Ext.Window', 
    alias : 'widget.popupwindow', 
    requires: [view.grid.issuerpopupgrid'], 

    appContainer: undefined, 
    caller: undefined, 
    selReportType:undefined, 
    reloadData: true, 
    extraParam: undefined, 

    initComponent: function() { 
     var config = {    
      width: 750, 
      minWidth: 600, 
      minHeight: 300, 
      autoScroll: false, 
      modal: true, 
      border: false, 
      closable: true, 
      constrain: false, 
      resizable: true, 
      maximizable: true, 
      layout:'anchor', 
      items: this.buildWindow(), 
      listeners: { 
       scope: this, 
       show: function(form) { 
        //sync the shadow 
        var win = Ext.WindowMgr.getActive(); 
        if (win!=null) win.el.sync(true); 
       } 
      } 
     }; 
     Ext.apply(this, config); 
     this.callParent(arguments); 
    }, 

    buildWindow: function() { 
     return [{ 
      xtype: 'issuerpopupgrid', 
      id:'issuerpopupgrid-id', 
      appContainer: this.appContainer, 
      extraParam: this.extraParam 
     }]; 
    }, 

}); 

Ext.define('view.grid.issuerpopupgrid', { 
    extend : 'view.grid.lvsimplegrid', 
    alias : 'widget.issuerpopupgrid', 
    appContainer: undefined, 
    extraParam: undefined, 

    initComponent: function() { 
     this.gridType = this.appContainer.appContext.appData.gridDefTypeMap.R9; 
     this.modelName = this.appContainer.name+'.model.'+this.gridType.name; 
     this.selReportType = this.gridType.name; //'R9'; 
     this.sortField = 'secDesc'; 
     this.reportUrl = this.appContainer.appContext.appData["gridDefinitions"][this.gridType.name].serviceUrl; 
     var config = { 
      height: 570, 
      selModel: { 
       selType: 'checkboxmodel', 
       showHeaderCheckbox :true, 
       mode: 'MULTI', 
       checkOnly: true 
      }, 
      listeners: { 
       scope: this, 
       afterrender: this.onAfterRender, 
       show: this.onActivateGrid 
      } 
     }; 
     Ext.apply(this, config); 
     this.callParent(arguments); 
     this.tbar = this.buildTopBar(); 
    }, 

    onAfterRender: function(thisObj) { 
     this.configureGrid(this.selReportType, this.appContainer.appContext.appData, null, false, this.sortField, this.sortField); 
     thisObj.getStoreData(this.selReportType, this.extraParam); 
    }, 

    onActivateGrid: function(thisObj) { 
     thisObj.getStoreData(this.selReportType); 
    } 
}); 

답변

0

가 보이는 :

buildWindow: function() { 
    return [{ 
     xtype: 'issuerpopupgrid', 
     id:'issuerpopupgrid-id', 
     appContainer: this.appContainer, 
     extraParam: this.extraParam 
    }]; 
}, //<-- trailing comma 

IE 당신은이 같은 구문 오류 찾기 위해 jsHint을 사용할 수 있습니다 ...이 문제가됩니다 https://jslinterrors.com/extra-comma

이를 완전히 linted 코드입니다 :

Ext.application({ 
    name : 'Fiddle', 

    launch : function() { 
     Ext.define('view.window.popupwindow', { 
      extend : 'Ext.Window', 
      alias : 'widget.popupwindow', 
      requires: ['view.grid.issuerpopupgrid'], 
      appContainer: undefined, 
      caller: undefined, 
      selReportType: undefined, 
      reloadData: true, 
      extraParam: undefined, 
      initComponent: function() { 
       var config = { 
        width: 750, 
        minWidth: 600, 
        minHeight: 300, 
        autoScroll: false, 
        modal: true, 
        border: false, 
        closable: true, 
        constrain: false, 
        resizable: true, 
        maximizable: true, 
        layout: 'anchor', 
        items: this.buildWindow(), 
        listeners: { 
         scope: this, 
         show: function() { 
          //sync the shadow 
          var win = Ext.WindowMgr.getActive(); 
          if (win !== null) { 
           win.el.sync(true); 
          } 
         } 
        } 
       }; 
       Ext.apply(this, config); 
       this.callParent(arguments); 
      }, 
      buildWindow: function() { 
       return [{ 
        xtype: 'issuerpopupgrid', 
        id: 'issuerpopupgrid-id', 
        appContainer: this.appContainer, 
        extraParam: this.extraParam 
       }]; 
      } 
     }); 

     Ext.define('view.grid.issuerpopupgrid', { 
      extend : 'view.grid.lvsimplegrid', 
      alias : 'widget.issuerpopupgrid', 
      appContainer: undefined, 
      extraParam: undefined, 
      initComponent: function() { 
       this.gridType = this.appContainer.appContext.appData.gridDefTypeMap.R9; 
       this.modelName = this.appContainer.name + '.model.' + this.gridType.name; 
       this.selReportType = this.gridType.name; //'R9'; 
       this.sortField = 'secDesc'; 
       this.reportUrl = this.appContainer.appContext.appData.gridDefinitions[this.gridType.name].serviceUrl; 
       var config = { 
        height: 570, 
        selModel: { 
         selType: 'checkboxmodel', 
         showHeaderCheckbox : true, 
         mode: 'MULTI', 
         checkOnly: true 
        }, 
        listeners: { 
         scope: this, 
         afterrender: this.onAfterRender, 
         show: this.onActivateGrid 
        } 
       }; 
       Ext.apply(this, config); 
       this.callParent(arguments); 
       this.tbar = this.buildTopBar(); 
      }, 

      onAfterRender: function (thisObj) { 
       this.configureGrid(this.selReportType, this.appContainer.appContext.appData, null, false, this.sortField, this.sortField); 
       thisObj.getStoreData(this.selReportType, this.extraParam); 
      }, 

      onActivateGrid: function (thisObj) { 
       thisObj.getStoreData(this.selReportType); 
      } 
     }); 
    } 
});