基本菜单选项
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
});