在我的CMS中,我在一个带有内联TinyMCE的HTML页面上有很多DIV。每个DIV都有自己的实例(#mce_0和#mce_ {randomnumber})
每个可编辑的DIV都在一个带有特定ID(#MyWrapper)的DIV(不可编辑)包装内。
#MyWrapper(所有编辑器DIV)内的所有内容都应保存到一个文件中。
当我使用javascript从#MyWrapper中获取html时,它运行良好,除了我在编辑器中使用HTML,而不是我想要的REAL HTML。例如,iframe(YouTube视频)被制作成示例图像而不是真正的iframe。
因此,我尝试从编辑器中获取HTML代码(当您单击"源代码"编辑器内部时)显示相同的HTML。
但我还没有成功。
以下是我现有的(工作,但没有获得真正的HTML)脚本的工作方式:
1)获取#MyWrapper中的所有HTML内容
2)Jquery:将它添加到名为#ForSaving的不可编辑和隐藏的DIV中,这样我就可以轻松访问以保存它
3)然后我有一个javascript将其保存到文件中。
今天,任务#1(上图)使用以下方法解决:
jQuery("#ForSaving").html(jQuery(".MyWrapper").html());
但是我应该有一个解决方案来从DIV中的多个内联编辑器中获取真正的HTML。
我尝试过tinymce.get(' ......');等等,但我无法从多个编辑器中获取HTML。
感谢任何帮助。 : - )
增加: 我通过搜索" tinymce multiple instances getcontent"来找到了这个。 How to get tinyMCE content from more than one text area
Thariama补充说回复说:
for (i=0; i < tinyMCE.editors.length; i++){
var content = tinyMCE.editors[i].getContent();
alert('Editor-Id(' + tinyMCE.editors[i].id + '):' + content);
}
但是,我不明白如何将其与:
结合起来jQuery("#ForSaving").html(jQuery(".MyWrapper").html());
我不擅长javascript编码。
我请你帮我把这些结合起来。谢谢: - )
答案 0 :(得分:3)
你不应该只使用数据库吗?非常确定你通过允许这样的保存来暴露自己的巨大安全漏洞..
http://www.tinymce.com/wiki.php/API3:method.tinymce.Editor.getContent
直接来自网站〜
// Get the HTML contents of the currently active editor
console.debug(tinyMCE.activeEditor.getContent());
// Get the raw contents of the currently active editor
tinyMCE.activeEditor.getContent({format : 'raw'});
// Get content of a specific editor:
tinyMCE.get('content id').getContent()