这是我为ckeditor启动准备的文本区域:
<textarea name="Message" id="RFMessage lol" rows="4" class="ckeditor" onkeydown="if(this.value.length>=1024)this.value=this.value.substring(0,1023);">
</textarea>
比我有这个html:
<textarea id="message" class="message hide" >WORLDWIDE,Any</textarea>
我需要做的是让JS在.messagediv上工作以摆脱",Any",然后将仅"WORLDWIDE"的干净值放入 #RFMessagediv
由于我不知道如何在 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相关的错误,但找不到任何错误。也许我只是在剧本中遗漏了一些东西?
谢谢
在处理编辑器内容时,您应该使用 CKEDITOR 的 getData 和 setData 方法。这些方法规范化了在编辑器中访问数据。