2

这是我为 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 上不起作用

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

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

谢谢

4

1 回答 1

2

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

于 2012-06-12T15:38:21.547 回答