最近做了一个项目,使用ext框架,想体验一个它华丽的外表,可项目做到接近尾声时,主页面有时报这样的错误:在ff中是正常,可在ie中报以下脚本错误,而且是有时,有时只刷新一次就正常了,但不能经常常现,偶尔会出现 ,给调试带来一定的难度。
消息: 'this.el.dom' 为空或不是对象
行: 63325
字符: 9
代码: 0
URI: http://localhost:8088/xxx/ext/js/ext-all-debug.js
后来根据层层筛选,确定应该是以下代码出问题了,
代码如下:由于业务要求原因,以下代码没有在Ext.onReady中执行,而是在先执行下面代码,再执行Ext.onReady中代码
var faultListForm = new Ext.form.FormPanel({ hidden:false, id:'faultListForm', defaultType:'hidden', renderTo: document.body, items:[ {id:'unitType', value: faultListConfig['unitType']}, {id:'faultLevel', value:faultListConfig['faultLevel']}, {id:'restoreState', value:faultListConfig['restoreState']}, {id:'confirmState', value:faultListConfig['confirmState']}, {id:'timeScope', value:faultListConfig['timeScope']}, {id:'sortField', value:faultListConfig['sortField']} ] });
考虑可能是ext中某些组件没有加载完,执行时就遇到异常,后将以上代码的renderTo:document.body,改成
renderTo: Ext.getBody(),
就正常了,有点怪,本以为这两句就是一个意思!