无法使 CKEditor InsertHTML 在 IE 8 上工作

Posted

技术标签:

【中文标题】无法使 CKEditor InsertHTML 在 IE 8 上工作【英文标题】:Cant make CKEditor InsertHTML work on IE 8 【发布时间】:2012-06-14 15:06:59 【问题描述】:

这是我准备启动 ckeditor 的 textarea:

<textarea name="Message" id="RFMessage lol" rows="4" class="ckeditor" onkeydown="if(this.value.length&gt;=1024)this.value=this.value.substring(0,1023);">                        
</textarea>

比我有这个html

<textarea id="message" class="message hide" >WORLDWIDE,Any</textarea>

我需要做的是让JS在.message div上工作以摆脱“,Any”,然后将仅“WORLDWIDE”的干净值放入#RFMessage div

由于我不知道如何在 ckeditor 中运行自定义 JS,我从这里使用他们的预定义 API:http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html

我使用 InsertHTML 来获取值并插入它。

这是我的整个 JS:

<script>
    $(".message").each(function() 
        $(this).html($(this).html().replace(/,Any/g,""));
        $(this).html($(this).html().replace(/Any,/g,""));
    );        
</script> 

<script>
    CKEDITOR.on( 'instanceReady', function( ev ) 
        var oEditor = CKEDITOR.instances.RFMessage;
        var value = document.getElementById('message').value;
        oEditor.insertHtml(value); 
    );            
</script>

当然,CKEditor 必须加载整个内容。

在 Chrome 和 Firefox 上一切正常,但在 IE8 上不起作用

我根据这个 CKEditor 使用他们的 API 的示例构建了脚本:http://nightly.ckeditor.com/7493/_samples/api.html

任何想法可能导致这在 IE8 上不起作用?我还尝试在他们的论坛上搜索任何与 IE8 相关的错误,但找不到任何错误。也许我只是在脚本中遗漏了一些东西?

谢谢

【问题讨论】:

【参考方案1】:

在处理编辑器内容时,您应该使用 CKEDITOR 的 getData 和 setData 方法。这些方法标准化了编辑器中的数据访问。

【讨论】:

以上是关于无法使 CKEditor InsertHTML 在 IE 8 上工作的主要内容,如果未能解决你的问题,请参考以下文章

使ckeditor不可编辑的参数?

ckeditor 使页面无响应

python-django中使用ckeditor富文本,后台没问题,前台为啥不好使?

QTextEdit.insertHtml() 很慢

Ext.core.DomHelper.insertHtml参数的说明

Django-ckeditor 在 html 中无法正确显示