Javascript 需要自动保存TinyMCE吗

Javascript 需要自动保存TinyMCE吗,javascript,ajax,tinymce,Javascript,Ajax,Tinymce,我正在寻找一些帮助自动保存tinyMCE。我想在内容更新后将tiny中的内容保存到其各自的文本区域中。因此,当我调用ajax时,内容就在文本区域中,可以发布了 目前我有这一点代码,但它只更新文本区域时,你按下一个按钮在微小的(如粗体,斜体,下划线等)。我还有找到代码的链接。任何帮助都将不胜感激 $('.AjaxEdit textarea.tiny').tinymce({ //other init options //need this function to save tin

我正在寻找一些帮助自动保存tinyMCE。我想在内容更新后将tiny中的内容保存到其各自的文本区域中。因此,当我调用ajax时,内容就在文本区域中,可以发布了

目前我有这一点代码,但它只更新文本区域时,你按下一个按钮在微小的(如粗体,斜体,下划线等)。我还有找到代码的链接。任何帮助都将不胜感激

$('.AjaxEdit textarea.tiny').tinymce({

    //other init options

    //need this function to save tiny data before Ajax call
    //http://www.webmasterkitchen.com/article/tinymce-ajax-form-submission/
    setup : function(ed) {
        ed.onChange.add(function(ed) {
            tinyMCE.triggerSave();
        });
    }
});

最好的办法是调整AJAX调用,使其在AJAX调用之前直接从TinyMCE或triggerSave中提取内容,而不是不断尝试使textarea与编辑器内容同步。序列化和过滤整个文档,以便在每次更改时都能存储,这是对性能的一大打击

如果确实需要保持textarea的同步,则必须将DOM修改侦听器添加到TinyMCE创建的用于存储内容的iframe中的文档中——您可以使用getDoc()函数检索它(请参阅)。不过,您在这里会遇到重大的性能问题

问候,

阿德里安·萨顿

您应该看看这个autosave插件

仅供参考,我是这样做的:

$('textarea.wysiwyg').tinymce({
  ...

  onchange_callback : function(inst) {

    // Prints the DOM element (textarea) to the console.
    console.log( inst.getElement() );

    // Prints the content of tinyMCE to the console.
    console.log( inst.getBody().innerHTML );

  }

});

虽然这个问题已经很老了,但我在搜索插件时遇到了麻烦。最后,我实现了自己的插件

我已经编写了一个插件,每x秒将表单数据发送到指定的url

简而言之,其思想是创建一个iframe,动态地更改表单的目标和操作,并提交表单以激发ajax效果。保存后,我将表单元素置于其初始状态,这样,如果用户希望手动保存,他或她将不会遇到任何困难


请注意,我写的插件是针对tinymce4的。对于旧版本,您必须稍微更改源代码。

该链接似乎不再可用或处于活动状态。