Javascript tinyMCE在运行时添加自定义菜单(带子菜单)

Javascript tinyMCE在运行时添加自定义菜单(带子菜单),javascript,tinymce,tinymce-4,Javascript,Tinymce,Tinymce 4,我想向所有tinyMCE组件添加自定义菜单(如文件、编辑)。喜欢做的事。我尝试过使用这段代码,但它不起作用,我在想是否可以用另一种方法来实现,不需要创建插件,只需在安装时的tinyMCE.init()函数中添加我的自定义菜单。我找到了一种方法来添加这样的子菜单 tinyMCE.init({ mode: "textareas", plugins: [ "advlist autolink lists link image

我想向所有tinyMCE组件添加自定义菜单(如文件、编辑)。喜欢做的事。我尝试过使用这段代码,但它不起作用,我在想是否可以用另一种方法来实现,不需要创建插件,只需在安装时的tinyMCE.init()函数中添加我的自定义菜单。我找到了一种方法来添加这样的子菜单

tinyMCE.init({
        mode: "textareas",
        plugins: [
                        "advlist autolink lists link image charmap print preview anchor",
                        "searchreplace visualblocks code fullscreen",
                        "insertdatetime media table contextmenu paste "
                        ],
        toolbar: " undo redo | styleselect | bullist numlist outdent indent | link image",
        setup: function (ed) {

            ed.addMenuItem('example', {
                text: 'My menu item',
                context: 'tools',
                onclick: function () {
                    ed.insertContent('Hello world!!');
                }
            });
        }
    });
这将在“工具”菜单中添加一个菜单项。除了那个菜单项,我需要像上面的链接那样添加一个完整的菜单,但我不知道如何添加。我试着在我的设置函数中添加创建菜单的代码,如下所示

tinyMCE.init({
        mode: "textareas",
        plugins: [
                        "advlist autolink lists link image charmap print preview anchor",
                        "searchreplace visualblocks code fullscreen",
                        "insertdatetime media table contextmenu paste "
                        ],
        toolbar: " undo redo | styleselect | bullist numlist outdent indent | link image",
        setup: function (ed) {
            var c = ed.createMenuButton('mymenubutton', {
                title: 'My menu button',
                image: 'img/example.gif',
                icons: false
            });

            c.onRenderMenu.add(function (c, m) {
                var sub;

                m.add({ title: 'Some item 1', onclick: function () {
                    tinyMCE.activeEditor.execCommand('mceInsertContent', false, 'Some item 1');
                } 
                });

                m.add({ title: 'Some item 2', onclick: function () {
                    tinyMCE.activeEditor.execCommand('mceInsertContent', false, 'Some item 2');
                } 
                });

                sub = m.addMenu({ title: 'Some item 3' });

                sub.add({ title: 'Some item 3.1', onclick: function () {
                    tinyMCE.activeEditor.execCommand('mceInsertContent', false, 'Some item 3.1');
                } 
                });

                sub.add({ title: 'Some item 3.2', onclick: function () {
                    tinyMCE.activeEditor.execCommand('mceInsertContent', false, 'Some item 3.2');
                } 
                });
            });

        }
    });

但它不起作用。最简单的方法是什么?

通过在工具栏中添加一个新的菜单,如