TinyMCE v6/v7自定义菜单项配置无效问题咨询
TinyMCE 自定义菜单后File菜单仍显示的问题及解决方法
问题分析
你遇到的情况是官方文档示例的疏漏:当通过menu配置自定义菜单时,默认菜单(如File)并不会自动被移除,文档未明确说明这一点。在TinyMCE v6和v7中,menu配置是合并而非完全替换默认菜单集合,这就是自定义菜单定义后File菜单依然保留的原因。
正确解决方案
要完全替换默认菜单,需在配置中添加menubar选项,明确指定要显示的菜单列表,未被列出的默认菜单将不再显示。
修改后的代码示例:
tinymce.init({ selector: 'textarea', plugins: 'searchreplace', // 明确指定要显示的菜单,仅包含自定义的菜单键名 menubar: 'edit view insert format tools table', menu: { edit: { title: 'Edit', items: 'undo redo | cut copy paste pastetext | selectall | searchreplace' }, view: { title: 'View', items: 'code revisionhistory | visualaid visualchars visualblocks | spellchecker | preview fullscreen | showcomments' }, insert: { title: 'Insert', items: 'image link media addcomment pageembed codesample inserttable | charmap emoticons hr | pagebreak nonbreaking anchor tableofcontents | insertdatetime' }, format: { title: 'Format', items: 'bold italic underline strikethrough superscript subscript codeformat | styles blocks fontfamily fontsize align lineheight | forecolor backcolor | language | removeformat' }, tools: { title: 'Tools', items: 'spellchecker spellcheckerlanguage | a11ycheck code wordcount' }, table: { title: 'Table', items: 'inserttable | cell row column | advtablesort | tableprops deletetable' }, } });
补充说明
menubar选项用于控制菜单栏显示的菜单集合,值为逗号分隔的菜单键名(对应menu配置中的键,如edit、view等)- 若仅需隐藏某个默认菜单(如File),直接设置
menubar为需要保留的菜单列表即可,无需完全重写menu配置 - 该行为在TinyMCE v6和v7中一致,文档示例缺失了
menubar的关键配置,导致用户误以为menu会完全替换默认菜单
内容的提问来源于stack exchange,提问作者Webreaper
相关产品推荐
相关产品推荐

