从CKEditor获取格式化的HTML

ssl*_*ian 31 html javascript ckeditor

我在我的网络应用程序中使用CKEditor,我不知道如何使用HTML格式获取编辑器的内容.

var objEditor = CKEDITOR.instances["sectionTextArea"];
var q = objEditor.getData();
Run Code Online (Sandbox Code Playgroud)

这将获得在CKEditor中输入的文本,没有任何标记.

然而,

var q = objEditor.getHTML();
Run Code Online (Sandbox Code Playgroud)

将返回一个空值.我究竟做错了什么?

Alf*_*oML 24

getHTML不是CKEditor对象的方法,因此您应该有一个javascript错误而不是null.

api定义的方法是getData(),如果这不起作用,那么你的代码中还有其他问题,尝试使用警报来验证当时的内容.

  • 所以,如果我写道:"或者学习如何使用适当的浏览器调试javascript",那对你来说会更好吗?那没用.警报始终适用于每个浏览器,无需任何要求.我很想看到你在四年前在手机上调试网页而没有提醒. (8认同)
  • 如果你的意思是他们应该使用一些console.log,你应该已经意识到用户正在尝试使用一个不存在的方法,所以如果他看过控制台,他就会看到错误.而不是向他解释有关如何调试javascript的所有细节(以及可能需要安装一些额外的附加组件或切换浏览器,请记住他四年前问过这个问题),防弹方法是使用提供的警报信息,没有必要进一步解释. (2认同)

low*_*nts 18

只是要知道正确的方法对getData()我没有帮助.我不知道如何在CKEditor对象上使用它.并且CKEDITOR.getData()不起作用.

这是getData()在CKEDITOR对象上使用的方式:

CKEDITOR.instances.my_editor.getData()
Run Code Online (Sandbox Code Playgroud)

... my_editor用于CKEditor的textarea的id 在哪里.

与此相反的是setData():

CKEDITOR.instances.my_editor.setData("<p>My Text</p>");
Run Code Online (Sandbox Code Playgroud)


Tom*_*ski 8

要从编辑器获取htmlData,您应该使用下面的代码片段:

var htmldata = CKEDITOR.instances.Editor.document.getBody().getHtml();
Run Code Online (Sandbox Code Playgroud)

如果此解决方案无效,请检查是否已BBCode卸载插件.

  • 异常文件未定 (2认同)

MAC*_*MAN 6

请使用以下行更新ckeditor config.js

config.fullPage = true;
Run Code Online (Sandbox Code Playgroud)

当你请求getData()时,这将返回完整的html;


Fle*_*ano 5

这对我有用:

CKEDITOR.instances["id"].getData()
Run Code Online (Sandbox Code Playgroud)