Javascript CKEDITOR.instance[x].setData在IE中不工作

Javascript CKEDITOR.instance[x].setData在IE中不工作,javascript,jquery,ckeditor,Javascript,Jquery,Ckeditor,好的,我正在web应用程序中使用CKEditor。我需要做的一件事是在文本区域设置文本。我一直在用这句话: CKEDITOR.instances.setData(html); …其中html是包含html的变量 这在Chrome和Firefox中运行良好,但在internetexplorer或Safari中根本不起作用 有人能提供一个关于原因的见解,或者建议一个解决方法吗 非常感谢- 确保从传递到setData的字符串中删除所有换行符。如果没有,将引发异常,并显示一条关于未终止字符串的消息。C

好的,我正在web应用程序中使用CKEditor。我需要做的一件事是在文本区域设置文本。我一直在用这句话:

CKEDITOR.instances.setData(html);
…其中html是包含html的变量

这在Chrome和Firefox中运行良好,但在internetexplorer或Safari中根本不起作用

有人能提供一个关于原因的见解,或者建议一个解决方法吗


非常感谢-

确保从传递到setData的字符串中删除所有换行符。如果没有,将引发异常,并显示一条关于未终止字符串的消息。CKEditor使用的换行符是UNIX样式的\n,换句话说,不是DOS版本:\r\n

换行符显然会抛出解析器,使其认为这是语句的结尾

还要注意的是,如果调用getData获取刚刚设置的值,CKEditor会将换行符和制表符放回其中。如果需要使用setData将该值设置回原位,则需要再次将其删除。我使用这样的regexp模式去掉换行符和制表符只是为了完整:

[\n\t]+

还要确保,如果使用正则表达式来剥离它们,则需要确保模式匹配将匹配.NET中名为单线模式的\n字符,但我不知道您使用的是什么。

对我的问题的修正;这在Safari中确实有效——只是不适用于IE…代码“CKEDITOR.instances.setDatahtml;”应该在所有浏览器中失败,因为您没有声明要使用的实例。一旦修复了,它的工作原理应该是一样的,除非你试图使用一个坏的html字符串,不能被IE解析