无法使CKEditor InsertHTML在IE 8上运行

时间:2012-06-11 17:22:15

标签: javascript textarea ckeditor

这是我的textarea准备ckeditor启动:

<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

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

任何可能导致这种情况无法在IE8上运行的想法?我也尝试过研究他们的论坛以查找任何与IE8相关的错误但却找不到任何错误。也许我只是在脚本中遗漏了一些东西?

由于

1 个答案:

答案 0 :(得分:2)

在处理编辑器内容时,您应该使用CKEDITOR的getDatasetData方法。这些方法规范化了在编辑器中访问数据。