主题: 出现 《TypeError: g.iframeDoc is undefined》 错误
作者: webeasymail, 发布日期: 2011-03-28 19:41:09, 浏览数: 5727

 

页面只有一个富文本编辑器,调用代码如下:

 

/****************富文本编辑器***************/
function newInstanceEditor(cfg){
    try{
        KE.show({id : cfg.id,
            resizeMode : 1,
            allowPreviewEmoticons : false,
            allowUpload : true,
            imageUploadJson:'../../jsp/upload_json.jsp',
            items : ['fontname', 'fontsize', '|', 'textcolor', 'bgcolor', 'bold', 'italic', 'underline',
            'removeformat', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist',
            'insertunorderedlist', '|', 'emoticons', 'image', 'link']
        });   
       
    }catch(e){
        alert('初始化编辑器错误:'+e);
    }
}

 

 $().ready(function() {
    /** ********************初始化编辑器******************** */
    newInstanceEditor( {
        id : 'blogContent'
    });
});

 

页面刷新经常出现《TypeError: g.iframeDoc is undefined》 这个错误,弹出这个错误后,点击确定,编辑器依然正常加载,并且可以正常使用。

 

通过查找,发现报错的代码如如下:

 

    getData : function(id, wyswygMode) {
        var g = KE.g[id];
        wyswygMode = (wyswygMode === undefined) ? g.wyswygMode : wyswygMode;
        if (!wyswygMode) {
            this.innerHtml(g.iframeDoc.body, KE.util.execSetHtmlHooks(id, g.newTextarea.value));
        }
        return this.toData(id, g.iframeDoc.body.innerHTML);
    },

 

不是很明白为什么会出现这个错误?

 

 

 

 

作者: Roddy, 发布日期: 2011-03-28 20:18:56
newInstanceEditor不要放在$.ready里执行,因为KE.show本身有ready处理。
回复
作者: webeasymail, 发布日期: 2011-04-10 14:06:45
非常感谢,确实是这个问题!
回复
发表新帖 发表回复