"文件"菜单中的"TinyMCE保存"按钮

Spe*_*il6 5 html javascript jquery wysiwyg tinymce

我正在使用TinyMCE,如果重要的话,我正在使用内联编辑器.这是我的代码......

<script type="text/javascript">
tinymce.init({
    selector: "div.prut8Eje",
    inline: true,
    plugins: [
        "advlist autolink lists link image charmap print preview anchor save",
        "searchreplace visualblocks code fullscreen",
        "insertdatetime media table contextmenu paste"
    ],
    menu : { // this is the complete default configuration
        file   : {title : 'File'  , items : 'save newdocument | print'},
        edit   : {title : 'Edit'  , items : 'undo redo | cut copy paste pastetext | selectall'},
        insert : {title : 'Insert', items : 'link media | template hr'},
        view   : {title : 'View'  , items : 'visualaid'},
        format : {title : 'Format', items : 'bold italic underline strikethrough superscript subscript | formats | removeformat'},
        table  : {title : 'Table' , items : 'inserttable tableprops deletetable | cell row column'},
        tools  : {title : 'Tools' , items : 'spellchecker code'}
    },
    toolbar: "save | insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
});
</script>
Run Code Online (Sandbox Code Playgroud)

好吧,保存按钮在工具栏中工作正常,但不会显示在文件菜单中.我试图张贴图片,但我需要10点声望.

编辑:您可以在http://gyazo.com/3d08cd176cd7b3cb4c6d6d395884e466 http://gyazo.com/daed4520adb902cb87336d943d6a30f7查看图片

提前致谢,

hac*_*ker 5

这是一个老问题,但我找到了一种将"保存"按钮添加到文件菜单的简单方法.使用tinymce中的setup事件,您可以添加一个菜单项:

tinymce.init({
    .....
    setup: function(editor) {
           editor.addMenuItem('save', {
                icon: 'save',
                text: 'Save',
                cmd: 'mceSave',
                context: 'file',
                disabled: true,
                onPostRender: function () {
                    var self = this;
                    editor.on('nodeChange', function() {
                        self.disabled(editor.getParam("save_enablewhendirty", true) && !editor.isDirty());
                    });
                }
            });|
    }
});
Run Code Online (Sandbox Code Playgroud)

这利用了所有常规保存功能,onPostRender功能只启用或禁用按钮(使用我在save plugin.js文件中找到的代码)


Nif*_*ler 3

根据他们自己的文档,“保存”插件仅适用于工具栏,不适用于菜单:http://www.tinymce.com/wiki.php/Controls

看起来您必须手动创建自己的菜单项;像这样的东西可以工作:

tinymce.PluginManager.add('menusave', function(editor, url) {
    editor.addMenuItem('menusave', {
        text: 'Save',
        context: 'file',
        onclick: function() {
            $('.mce-i-save').closest('button').trigger('click');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

不过,要实现这一点,您还必须在工具栏中有“保存”按钮,但可能有比触发单击工具栏中的按钮更好的方法。

然后不要忘记将“menusave”(或您选择的任何名称)添加到插件列表中,并将其添加到您希望它在菜单中的任何位置:

file   : {title : 'File'  , items : 'menusave newdocument | print'},
Run Code Online (Sandbox Code Playgroud)

顺便说一句,为了想出上面的代码,我玩了这个“TinyMCE Fiddle”:http://fiddle.tinymce.com/ngdaab/0