我正在建立一个模板系统,设计师可以在其中提交 HTML5 设计并允许用户添加自己的内容。我正在为应用程序使用 CKEditor 4.2 和 Rails 3。我希望用户能够加载模板页面,然后直接编辑各种内联编辑器,然后通过 JS 和 Ajax 保存。我一切正常,但是在添加 iFrame 插件时遇到了一些格式问题,因为我只是将原始 HTML 从内联编辑器保存到我的模板中。有关更多详细信息,请参阅此问题:CKEditor and iFrame/YouTube/Other Embed Plugins Show Weird HTML Code
我现在知道我应该使用类似的东西:
var data = CKEDITOR.instances.editable.getData();
但是我将如何管理这样的多个编辑器?我告诉我的设计师简单地使用
contenteditable="true"
对于他们希望可编辑的任何 div。因此,我没有每个编辑器的 id 可供参考,也不知道每个模板文件将包含多少个编辑器,我希望能够在最终模板中保存不可编辑的内容和可编辑的内容,这只是一个HTML5 页面。
这是我必须使用带有 id 的 div 保存整个模板文件的原始内容的解决方案:
$saveButton.click(function(e) {
// Extract contents of magboy container
var contents = $("#page-cnt").html();
// Send contents to server
$.ajax({
url: '/pages/'+PageId+'/editor_save',
type: 'POST',
data: {
containerContents: contents
},
success: function(response){
alert("contents saved");
}
});
// prevent original click behaviour
e.preventDefault();
return false;
});
所以总结一下我的问题:
如何实现一个保存功能,将多个 CKEditor 编辑器的内容保存在一个完整的模板页面中?
非常感谢您的帮助,如果您可以帮助解决这个问题,那么我相信它也会回答同样的问题:使用 CKEditor 保存多个内联编辑