我在我的Web应用程序中使用CKEditor,但是我不知道如何获取带有HTML格式的编辑器内容。
var objEditor = CKEDITOR.instances["sectionTextArea"];
var q = objEditor.getData();
这将让我获取在CKEditor中输入的纯文本,不包含任何标记。
然而,
var q = objEditor.getHTML();
将返回一个null值。我做错了什么?
我在我的Web应用程序中使用CKEditor,但是我不知道如何获取带有HTML格式的编辑器内容。
var objEditor = CKEDITOR.instances["sectionTextArea"];
var q = objEditor.getData();
这将让我获取在CKEditor中输入的纯文本,不包含任何标记。
然而,
var q = objEditor.getHTML();
将返回一个null值。我做错了什么?
getHTML不是CKEditor对象的一个方法,所以你应该会得到一个javascript错误,而不是null。
API定义的方法是getData(),如果这个方法不起作用,则您的代码中可能存在其他问题,请尝试使用alert验证此时的内容。
只是知道正确的方法是getData()
并没有帮助我。我不知道如何在CKEditor对象上使用它,而CKEDITOR.getData()
则无效。
这是在CKEDITOR对象上使用getData()
的方式:
CKEDITOR.instances.my_editor.getData()
...其中 my_editor
是用于 CKEditor 的文本区域的 ID。
相反的方法是 setData()
:
CKEDITOR.instances.my_editor.setData("<p>My Text</p>");
var htmldata = CKEDITOR.instances.Editor.document.getBody().getHtml();
如果这个解决方案不起作用,检查一下你是否卸载了 BBCode
插件。
config.fullPage = true;
这对我有帮助:
CKEDITOR.instances["id"].getData()
editor.getData()
获取 HTML 数据。ClassicEditor
.create( document.querySelector( '#editor' ) )
.then( editor => {
console.log(editor.getData());
} )
.catch( error => {
console.error( error );
} );
我正在使用预览插件获取完整的HTML内容,希望它能够帮到您。
CKEDITOR.getFullHTMLContent = function(editor){
var cnt = "";
editor.once('contentPreview', function(e){
cnt = e.data.dataValue;
return false;
});
editor.execCommand('preview');
return cnt;
}
针对Java用户...
在按下提交按钮后,请求通过HTTP Post方法发送。此Post请求还包含了格式化的HTML,该HTML位于名为textarea的参数中,使用name属性命名。
因此,如果您的textarea如下所示...
<form method="post" action="createPDF.do"> <textarea name="editor1" id="editor1"/>
<input type="submit"/> </form>
然后,在按下提交按钮后,您可以通过以下方式在servlet/controller中获取格式化的HTML:
String htmlContent = request.getParameter("editor1");
$('#my_editor').val()
无需深入挖掘API。
$j('#element').ckeditor();
- Brent我在编辑器中使用了插入媒体功能,但 .getData() 没有返回所需的 HTML 以显示视频缩略图图标。以下方法对我有效,可以获取最终的 HTML:
$(".ck-content").html()
alert()
而不是console.log()
对于初学者来说是很好的,因为使用alert()
可以暂停执行。如果使用 console.log(),则必须使用 debugger 关键字来暂停执行。console.log() 和 alert() 都有其优点。我知道大多数初学者使用 alert() 而不是 console.log(),但这并不意味着其中一个是不好的实践方法,只是不要在生产中使用。如果它不好,浏览器就会将其删除。 - 27px