小编mmo*_*ar1的帖子

CKEditor + IE7 + 8'null或不是对象'错误

我的问题是我正在使用JQuery的CKEditor 3.4插件,并且在编辑器上执行$(selector).val(html)调用时,它在IE 7 + 8中给出了一个错误:

错误:'this.$.innerHTML'为null或不是对象

...在调试器中运行时,指向巨大的CKEditor.js中的这行代码:

getHtml:function(){var i=this.$.innerHTML;return c?i.replace(/<\?[^>]*>/g,''):i;}
Run Code Online (Sandbox Code Playgroud)

...在源代码中转换为:

getHtml : function()
{
    var retval = this.$.innerHTML;
    // Strip <?xml:namespace> tags in IE. (#3341).
    return CKEDITOR.env.ie ? retval.replace( /<\?[^>]*>/g, '' ) : retval;
},
Run Code Online (Sandbox Code Playgroud)

我的违规代码(剥离,但仍然给出错误):

var editor_data = $("textarea#body").val();
$("textarea#body").val(editor_data);
Run Code Online (Sandbox Code Playgroud)

...以及后代的textarea代码:

<textarea name="body" rows="15" cols="50" class="wysiwyg" id="body"></textarea>
Run Code Online (Sandbox Code Playgroud)

我试过在IE8中使用jsFiddle进行复制,但奇怪的是它在那里按预期工作.我也很乐意提供一份工作样本,但遗憾的是我不能出于我无法控制的原因.

我也尝试了这个修复程序,它清除了错误问题,但是在那之后setData没有按预期工作,只是用任何东西覆盖了编辑器内容.我承认这个问题+修复有点过头了......:http://dev.ckeditor.com/ticket/4566

(对不起,很长的帖子:S)我也尝试将直接JavaScript API用于CKEditor(放弃jQuery集成),并抛出相同的错误.

任何人都有他们想要我试图解决这个问题的任何东西,或者对它可能有什么预感?非常感谢!

javascript jquery dom ckeditor

6
推荐指数
1
解决办法
7789
查看次数

标签 统计

ckeditor ×1

dom ×1

javascript ×1

jquery ×1