CKEDITOR.instance[x].setData 在 IE 中不起作用

发布于 2024-12-09 12:18:16 字数 303 浏览 0 评论 0原文

好的,我正在 Web 应用程序中使用 CKEditor。我需要做的一件事是在文本区域中设置文本。我一直在使用以下行:

CKEDITOR.instances.setData(html);

...其中 html 是包含 HTML 的变量。

这在 Chrome 和 Chrome 中运行良好。 Firefox,但在 Internet Explorer 或 Safari 中根本不支持。

任何人都可以提供有关原因的见解或建议解决方法吗?

非常感谢! :-)

Ok, I'm using the CKEditor in a web application. One thing I need to do it set the text in the text area. I've been using the line:

CKEDITOR.instances.setData(html);

...where html is a varible containing HTML.

This works fine in Chrome & Firefox, but not at all in Internet Explorer or Safari.

Can anyone provide an insight as to why, or suggest a work-around?

Many thanks in advance! :-)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千秋岁 2024-12-16 12:18:16

确保从传递给 setData() 的字符串中删除所有换行符。 如果不这样做,则会引发异常,并显示有关未终止字符串的消息。 CKEditor 使用的换行符是 UNIX 风格的 \n(换句话说,不是 DOS 版本:\r\n) 。

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

另请注意,如果您调用 getData() 来获取刚刚再次设置的值,CKEditor 会将换行符和制表符放回其中。如果您需要使用 setData() 重新设置该值,则需要再次删除它们。 我使用像这样的正则表达式模式来删除换行符(和制表符只是为了完整性):

[\n\t]+

另外确保如果你使用正则表达式来剥离它们,你需要确保模式匹配将匹配 \n 字符(在.NET中称为“单行”模式,但我不不知道你用的是什么)。

Make sure to strip all newlines from the string you pass into setData(). An exception is thrown if you don't, with a message about an unterminated string. The newline characters used by CKEditor are the UNIX-style of \n (in other words, not the DOS version: \r\n).

The newline apparently throws off the parser, making it think that it's the end of the statement.

Also note that if you call getData() to get that value you just set again, CKEditor puts the line breaks and tabs back into it. You'll need to strip them out again if you need to set that value back using setData(). I use a regexp pattern like this to strip out the newlines (and tabs just for completeness):

[\n\t]+

Also make sure that if you use the regular expression to strip them, you need to make sure that the pattern matching will match the \n character (called "single-line" mode in .NET, but I don't know what you're using).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文