基本菜单选项

menubar

此选项指定在TinyMCE顶部的菜单栏中显示哪些菜单及其顺序。

要定义TinyMCE菜单栏上的菜单,请为menubar选项提供一个以空格分隔的菜单列表。

类型: String 或 Boolean

默认值: true

可能的值: true, false,或菜单的string

此选项的默认值在移动设备上有所不同。有关默认移动选项的信息,请参见:TinyMCE Mobile — 具有移动默认值的配置选项。

示例:自定义菜单栏

tinymce.init({
  selector: 'textarea',  // change this value according to your HTML
  menubar: 'file edit insert view format table tools help'
});

示例:禁用/移除菜单栏

要禁用菜单栏,请将menubar选项设置为false。

tinymce.init({
  selector: 'textarea',  // change this value according to your HTML
  menubar: false
});

要更精细地控制菜单内容,请参阅menu选项文档。

menu

menu选项允许集成者为menubar选项定义可用的菜单,并指定在这些菜单中显示的菜单项。

要配置菜单,请提供一个JavaScript对象,其中每个属性代表一个菜单。每个菜单对象应包含title和items属性。title属性是定义显示名称的字符串,而items属性是以空格分隔的菜单项列表,这些菜单项将填充该菜单。

要对某些菜单项进行分组,请在菜单项之间插入|管道字符。

类型: Object

示例:TinyMCE默认菜单项

tinymce.init({
  selector: 'textarea',  // change this value according to your HTML
  menu: {
    file: { title: 'File', items: 'newdocument restoredraft | preview | importword exportpdf exportword | print | deleteallconversations' },
    edit: { title: 'Edit', items: 'undo redo | cut copy paste pastetext | selectall | searchreplace' },
    view: { title: 'View', items: 'code suggestededits revisionhistory | visualaid visualchars visualblocks | spellchecker | preview fullscreen | showcomments' },
    insert: { title: 'Insert', items: 'image link media addcomment pageembed codesample inserttable | math | 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' },
    help: { title: 'Help', items: 'help' }
  }
});
此选项的默认值在移动设备上有所不同。有关默认移动选项的信息,请参见:TinyMCE Mobile — 具有移动默认值的配置选项。
仅此选项不能控制哪些菜单出现在菜单栏中或它们出现的顺序。要控制菜单栏及其上菜单的顺序,请参见menubar选项。

removed_menuitems

此选项可从TinyMCE的菜单中排除项。在仅使用menubar选项配置菜单而不通过menu选项定义自定义菜单项时,此选项特别有用。

类型: String

示例:使用removed_menuitems

tinymce.init({
  selector: 'textarea',  // change this value according to your HTML
  removed_menuitems: 'undo redo'
});

主编辑器菜单栏行为

以下“toolbar”选项也影响菜单栏的行为。

toolbar_location

toolbar_location选项用于定位toolbar和菜单栏。默认行为是将工具栏和菜单栏定位在内容区域上方。将此选项设置为bottom会将工具栏和菜单栏定位在内容区域下方。此选项在classic editor(Iframe)模式和内联模式下有效。

将此选项设置为auto,会将工具栏和菜单栏定位在以下位置之一:

  • 默认在内容区域上方。

  • 如果上方没有足够的空间显示工具栏和菜单栏,则在内容区域下方。

类型: String

默认值: 'auto'

可能的值: 'auto', 'top', 'bottom'

示例:使用toolbar_location

tinymce.init({
  selector: 'textarea',  // 根据 HTML 更改此值
  toolbar_location: 'bottom'
});

toolbar_sticky

粘性工具栏(或停靠工具栏),在向下滚动网页时将工具栏和菜单停靠在屏幕顶部,直到编辑器不再可见。

要启用粘性工具栏,请在 tinymce.init 脚本中将 toolbar_sticky 设置为 true。要禁用粘性工具栏,请将 toolbar_sticky 设置为 false。内联模式下粘性工具栏始终启用且无法禁用。

要查看粘性工具栏的演示,请参阅 TinyMCE 粘性工具栏演示。

类型: Boolean

默认值:在 classic 模式下为 false,在 inline 模式下为 true

可能值: true、false

此功能仅在 TinyMCE 以 classic 模式运行时受支持。在 inline 模式下不受支持。有关编辑模式之间差异的更多信息,请参阅 Classic 编辑模式。
此选项在移动设备上的默认值不同。有关移动默认选项的信息,请参阅:TinyMCE Mobile — 具有移动默认值的配置选项。

示例:使用 toolbar_sticky

tinymce.init({
  selector: 'textarea',  // 根据 HTML 更改此值
  toolbar_sticky: true
});

toolbar_sticky_offset

此选项允许工具栏根据 工具栏位置 (toolbar_location) 停靠在距离 视口 顶部或底部指定偏移量的位置。当网站有粘性页眉导航栏时,此选项很有用,可让 TinyMCE 工具栏“粘”在网站导航栏下方。此选项接受以像素为单位的高度。

要使此选项生效,需要将 toolbar_sticky 选项设置为 true。

类型: Number

默认值: 0

示例:使用 toolbar_sticky_offset

tinymce.init({
  selector: 'textarea',  // 根据 HTML 更改此值
  toolbar_sticky: true,
  toolbar_sticky_offset: 100
});

持久内联编辑器菜单栏选项

以下持久“工具栏”选项也会提供持久菜单栏,除非菜单栏被禁用。

toolbar_persist

此功能仅在 TinyMCE 以 inline 模式运行时受支持。在 classic 模式下不受支持。有关编辑模式之间差异的更多信息,请参阅 Inline 编辑模式。

此选项禁用内联编辑器工具栏和菜单栏的自动显示和隐藏行为。启用此选项可始终显示工具栏和菜单栏,并且在焦点丢失时也不隐藏它们。使用此选项可使内联编辑器的工具栏和菜单栏持久显示。

类型: Boolean

默认值: false

可能值: true、false

示例

tinymce.init({
  selector: 'div',  // 根据 HTML 更改此值
  inline: true,
  toolbar_persist: true
});

fixed_toolbar_container

此功能仅在 TinyMCE 以 inline 模式运行时受支持。在 classic 模式下不受支持。有关编辑模式之间差异的更多信息,请参阅 Inline 编辑模式。

使用此选项可将内联工具栏渲染到固定定位的 HTML 元素中。例如,您可以将工具栏固定在浏览器视口的顶部。

类型: String

示例:使用 fixed_toolbar_container

此示例使用名为 '#mytoolbar' 的 CSS 3 选择器,并将任何内联工具栏渲染到此元素中。

tinymce.init({
  selector: 'div',  // 根据 HTML 更改此值
  inline: true,
  fixed_toolbar_container: '#mytoolbar'
});

fixed_toolbar_container_target

此功能仅在 TinyMCE 以 inline 模式运行时受支持。在 classic 模式下不受支持。有关编辑模式之间差异的更多信息,请参阅 Inline 编辑模式。

使用此选项可通过直接向选项传递 HTMLElement,将内联工具栏渲染到固定定位的 HTML 元素中。此选项类似于接受 CSS 选择器的 fixed_toolbar_container 选项。

fixed_toolbar_container 优先于 fixed_toolbar_container_target,因此为了使 fixed_toolbar_container_target 生效,请勿使用 fixed_toolbar_container 选项。

类型: HTMLElement

示例:使用 fixed_toolbar_container_target

const el = document.createElement('div');
document.body.appendChild(el);

tinymce.init({
  selector: 'textarea',  // 根据 HTML 修改此值
  inline: true,
  fixed_toolbar_container_target: el
});

上下文菜单(特定内容菜单)

contextmenu

contextmenu 选项允许您指定上下文菜单中显示的项目。该选项的格式可以是字符串中以空格分隔的项目列表,也可以是项目名称的数组。

上下文菜单选项接受三种样式的项目:

  • 任何已注册的菜单项。

  • 一个 "|" 管道字符,用于指示应添加分隔符以划分菜单项组。

  • 由插件定义的上下文菜单部分(通常等于插件名称)。上下文菜单部分之间会自动插入分隔符。

如果同一个名称同时注册为上下文菜单部分和菜单项,则上下文菜单部分优先。

默认配置包括以下插件的上下文菜单部分:link、linkchecker、image、editimage、permanentpen、table 和 tinymcespellchecker。

要禁用编辑器的上下文菜单,请将此选项设置为 false。

类型: String、Array 字符串数组或 false

默认值: 'link linkchecker image editimage table spellchecker configurepermanentpen'

当 TinyMCE 上下文菜单启用时,用户仍可通过 Ctrl+右键单击 快捷键访问浏览器上下文菜单,包括浏览器拼写检查器。但如果启用了 contextmenu_never_use_native 选项,按住 Ctrl 键将无效。
当配置了 TinyMCE 上下文菜单时,移动设备用户可通过长按访问 TinyMCE 上下文菜单。但如果未配置 TinyMCE 上下文菜单而配置了 TinyMCE 上下文工具栏,则长按将打开上下文工具栏。

示例:使用 contextmenu

tinymce.init({
  selector: 'textarea',  // 根据 HTML 修改此值
  plugins: 'link image table',
  contextmenu: 'link image table'
});

有关配置 contextmenu 选项和创建自定义上下文菜单项的信息,请参阅上下文菜单示例。

contextmenu_avoid_overlap

contextmenu_avoid_overlap 选项可防止上下文菜单覆盖编辑器内的特定节点。此选项接受一个 CSS 选择器。当在匹配指定选择器的节点上打开上下文菜单时,上下文菜单将渲染在该节点下方,而不是单击发生的位置。如果节点下方在浏览器窗口中没有足够的空间,上下文菜单将显示在节点上方。

类型: String

默认值: ''

示例

tinymce.init({
  selector: 'textarea',  // 根据 HTML 修改此值
  contextmenu_avoid_overlap: '.mce-spelling-word'
});

contextmenu_never_use_native

contextmenu_never_use_native 选项允许您阻止浏览器上下文菜单在编辑器内出现。

使用此选项可能会导致在文本区域右键单击时出现意外行为。建议您在使用此功能前仔细考虑所有选项。

类型: Boolean

默认值: false

可能的值: true,false

示例:使用 contextmenu_never_use_native

tinymce.init({
  selector: 'textarea',  // 根据 HTML 修改此值
  contextmenu_never_use_native: true
});