You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 05:05:14