custom_undo_redo_levels
此选项应包含要在内存中保留的 undo 级别数量。默认情况下,它设置为使用无限数量的 undo 级别。对于低端系统,custom_undo_redo_levels 的值应为 10 或更低,否则它将占用大量内存。
类型: Number
默认值: unlimited
示例:使用 custom_undo_redo_levels
tinymce.init({
selector: 'textarea', // change this value according to your HTML
custom_undo_redo_levels: 10
});end_container_on_empty_block
此选项指定当在空的内部块元素内按下 Enter 键时,当前容器块元素如何拆分。可用的选项有:
始终拆分块;
为特定块元素拆分;或者
完全不拆分块。
类型: Boolean 或 String
默认值: 'blockquote'
可能的值: true、false 或逗号分隔的元素标签名称 String
在 TinyMCE 6.1 之前,此选项仅接受 Boolean 值。示例:使用 end_container_on_empty_block
tinymce.init({
selector: 'textarea', // change this value according to your HTML
end_container_on_empty_block: true
});draggable_modal
使用 draggable_modal 选项可以为 模态对话框启用拖动功能。
类型: Boolean
默认值: false
可能的值: true、false
示例:使用 draggable_modal
tinymce.init({
selector: 'textarea', // change this value according to your HTML
draggable_modal: true
});keep_styles
keep_styles 选项将在用户按下 enter/return 时保留编辑器的当前文本样式。
类型: Boolean
默认值: true
可能的值: true、false
示例:使用 keep_styles
tinymce.init({
selector: 'textarea', // change this value according to your HTML
keep_styles: false
});newdocument_content
此选项设置当调用 File → New document菜单项时新编辑器包含的内容。
类型: String
默认值: ''
示例:使用 newdocument_content
此示例展示了将 newdocument_content 与 editable_root 选项一起使用,以在不可编辑的根元素内设置一个可编辑元素。
tinymce.init({
selector: 'textarea', // change this value according to your HTML
editable_root: false,
newdocument_content: '<div contenteditable="true">Editable content</div>'
});newline_behavior
此选项允许您调整按下 Enter 或 Return 键时发生的情况。有四个选项:
default在按 Enter 时插入一个块(由 forced_root_block 定义),在按 Shift+Enter 时插入一个br标签。block在所有情况下强制上述 Enter 行为。linebreak在所有情况下强制上述 Shift+Enter 行为。invert交换 Enter 和 Shift+Enter 行为。
此选项更改mceInsertNewLine命令的行为。insertParagraph和InsertLineBreak命令不受影响。
类型: String
默认值: 'default'
示例:使用 newline_behavior
tinymce.init({
selector: 'textarea', // change this value according to your HTML
newline_behavior: 'linebreak'
});object_resizing
此选项允许您开启或关闭图像、表格或媒体对象上的调整大小手柄。此选项默认启用,允许您调整表格和图像的大小。您还可以指定一个 CSS3 选择器,以确定要在其上启用调整大小的元素。
禁用所有图像/表格的调整大小
类型: Boolean、String
默认值: true
可能的值: true、false 或有效的 CSS 选择器
此选项的默认值在移动设备上有所不同。有关默认移动选项的信息,请参阅:TinyMCE Mobile — 具有移动默认值的配置选项。
示例:禁用对象调整大小
tinymce.init({
selector: 'textarea', // change this value according to your HTML
object_resizing: false
});仅对图像启用调整大小
类型: Boolean, String
默认值: true
可能的值: true, false, img
示例:对图像启用对象调整大小
tinymce.init({
selector: 'textarea', // 根据您的HTML更改此值
object_resizing: 'img'
});resize_img_proportional
当用户在编辑器中调整图像大小,此选项控制图像是按比例调整还是自由调整。如果设置为:
true— 当用户调整图像大小时,图像将按比例调整(图像的两个维度按相同的百分比长度调整)。用户可以通过在调整大小时按住Shift键来自由调整图像大小。false— 当用户调整图像大小时,图像可以自由调整大小。用户可以通过在调整大小时按住Shift键来按比例调整图像大小。
类型: Boolean
默认值: true
可能的值: true, false
示例:使用 resize_img_proportional
要禁用按比例调整图像大小:
tinymce.init({
selector: 'textarea', // 根据您的HTML更改此值
resize_img_proportional: false
});inline_boundaries
此选项允许您禁用内联边界。有关如何更改内联边界外观的信息,请参阅 样板内容CSS页面。
类型: Boolean
默认值: true
可能的值: true, false
示例:使用 inline_boundaries
tinymce.init({
selector: 'textarea', // 根据您的HTML更改此值
inline_boundaries: false
});inline_boundaries_selector
此选项允许您指定内联边界应应用于哪些元素。默认值为 a[href],code,.mce-annotation,但可以扩展以包含其他内联元素,如 b、strong、i 和 em。
如果您添加了新元素,则需要在内容CSS中为它们添加CSS选择器。有关详细信息,请参阅 样板内容CSS页面。
类型: String
默认值: 'a[href],code,.mce-annotation'
示例:使用 inline_boundaries_selector
tinymce.init({
selector: 'textarea', // 根据您的HTML更改此值
inline_boundaries_selector: 'a[href],code,b,i,strong,em'
});text_patterns
此选项允许配置在编辑器中输入时匹配的文本模式。文本模式可用于应用格式、替换文本或执行命令。默认情况下,基本的markdown模式已启用,因此用户可以输入 # text 来生成标题,或输入 **text** 来使文本加粗。要禁用文本模式替换,请将选项设置为 false。
有三种类型的模式:inline、block 和 replacement 模式。内联模式有一个 start 和一个 end 文本模式,而块模式和替换模式只有 start。用户可以指定要应用于选区的格式、要执行的命令或要替换的文本。
文本模式中使用的任何格式或命令都需要在编辑器初始化时注册。这可能包括启用相关插件,如
lists插件。有关以下信息:
为TinyMCE注册格式,请参阅:内容格式选项 -
formats。为TinyMCE注册命令,请参阅:TinyMCE API - addCommand。
类型: Array 或 false
此选项的默认值在TinyMCE 7.0中已更改,有关更多信息,请参阅 更改。
默认值:
default: [
{ start: '*', end: '*', format: 'italic' },
{ start: '**', end: '**', format: 'bold' },
{ start: '#', format: 'h1', trigger: 'space' },
{ start: '##', format: 'h2', trigger: 'space' },
{ start: '###', format: 'h3', trigger: 'space' },
{ start: '####', format: 'h4', trigger: 'space' },
{ start: '#####', format: 'h5', trigger: 'space' },
{ start: '######', format: 'h6', trigger: 'space' },
{ start: '1.', cmd: 'InsertOrderedList', trigger: 'space' },
{ start: '*', cmd: 'InsertUnorderedList', trigger: 'space' },
{ start: '-', cmd: 'InsertUnorderedList', trigger: 'space' },
{ start: '>', cmd: 'mceBlockQuote', trigger: 'space' },
{ start: '---', cmd: 'InsertHorizontalRule', trigger: 'space' }
]当在 TinyMCE 编辑器配置中设置text_patterns选项时,新值将完全覆盖现有的默认文本模式。这意味着编辑器将使用用户配置中指定的模式,并忽略默认模式。如果要添加新模式而不丢失默认模式,必须在自定义text_patterns数组中包含所有默认模式以及任何额外模式。
内联模式
内联模式必须具有以下内容:
一个
start和一个end。一个
format或一个cmd。如果指定了
cmd,则允许使用可选的value属性。
这使得模式可以用于应用格式或执行命令,可选择使用给定的值。
内联模式在按下空格键或Enter键时执行。
示例:使用内联模式
tinymce.init({
selector: 'textarea', // change this value according to your HTML
// The `link` plugin is required for the `createLink` command
plugin: 'link',
text_patterns: [
{ start: '*', end: '*', format: 'italic' },
{ start: '**', end: '**', format: 'bold' },
{ start: '~', end: '~', cmd: 'createLink', value: 'https://tiny.cloud' }
]
});使用此示例中的配置:
{ start: '*', end: '*', format: 'italic' }- 在`*`之间输入文本,然后按下空格键,将对*符号之间的文本应用italic格式。{ start: '**', end: '**', format: 'bold' }- 在`**`之间输入文本,然后按下空格键,将应用bold格式。{ start: '~', end: '~', cmd: 'createLink', value: 'https://tiny.cloud' }- 这将执行editor.execCommand('createLink', false, 'https://tiny.cloud'),将~符号之间的文本包装在一个指向https://tiny.cloud的链接中。
块模式
块模式必须具有以下内容:
一个
start。一个
format或一个cmd。如果指定了
cmd,则允许使用可选的value属性。
一个
trigger,它接受一个可以是'space'或'enter'的字符串,并指定激活键。
块模式没有end属性。这使得模式可以用于应用块格式或执行命令,可选择使用给定的值。
块模式默认在空格键上执行,但可以配置为在Enter上执行。
示例:使用块模式
tinymce.init({
selector: 'textarea', // change this value according to your HTML
// The `lists` plugin is required for list-related text patterns
// The trigger property can be configured to use either space or enter.
plugin: 'lists',
text_patterns: [
{ start: '*', end: '*', format: 'italic' },
{ start: '**', end: '**', format: 'bold' },
{ start: '#', format: 'h1', trigger: 'space' },
{ start: '##', format: 'h2', trigger: 'space' },
{ start: '###', format: 'h3', trigger: 'space' },
{ start: '####', format: 'h4', trigger: 'space' },
{ start: '#####', format: 'h5', trigger: 'space' },
{ start: '######', format: 'h6', trigger: 'space' },
{ start: '*', cmd: 'InsertUnorderedList', trigger: 'space' },
{ start: '- ', cmd: 'InsertUnorderedList', trigger: 'enter' },
{ start: '1.', cmd: 'InsertOrderedList', value: { 'list-style-type': 'decimal' }, trigger: 'space' },
{ start: '1) ', cmd: 'InsertOrderedList', value: { 'list-style-type': 'decimal' }, trigger: 'enter' },
{ start: 'a.', cmd: 'InsertOrderedList', value: { 'list-style-type': 'lower-alpha' }, trigger: 'space' },
{ start: 'a) ', cmd: 'InsertOrderedList', value: { 'list-style-type': 'lower-alpha' }, trigger: 'enter' },
{ start: 'i.', cmd: 'InsertOrderedList', value: { 'list-style-type': 'lower-roman' }, trigger: 'space' },
{ start: 'i) ', cmd: 'InsertOrderedList', value: { 'list-style-type': 'lower-roman' }, trigger: 'enter' }
]
});使用此示例中的配置:
{ start: '#', format: 'h1', trigger: 'space' }- 输入#,然后按下Space将创建一个空的h1标题。输入
1),然后输入一个Space,再输入所需的文本,然后按下Enter;编辑器将把文本转换为一个有序列表,原始文本作为第一个列表项,新行作为第二个列表项。由于我们已经指定了value,此模式将执行editor.execCommand('InsertOrderedList', false, { 'list-style-type': 'decimal'})。
替换模式
替换模式必须具有以下内容:
一个
start。一个
replacement,它接受一个可以是文本或 HTML 的字符串。
替换模式插入块元素还是内联元素取决于replacement字符串是什么。
替换模式在按下空格键或Enter键时执行。
示例:使用替换模式
tinymce.init({
selector: 'textarea', // 根据你的 HTML 更改此值
text_patterns: [
{ start: '---', replacement: '<hr/>' },
{ start: '--', replacement: '—' },
{ start: '-', replacement: '—' },
{ start: '(c)', replacement: '©' },
{ start: '//brb', replacement: 'Be Right Back' },
{ start: '//heading', replacement: '<h1 style="color: blue">Heading here</h1> <h2>Author: Name here</h2> <p><em>Date: 01/01/2000</em></p> <hr />' }
]
});使用此示例中的配置:
输入
---后按 空格键或Enter键将插入一个水平线块。输入
(c)后按 空格键或Enter键将插入内联版权符号。
这对于常用短语或符号非常有用,并且可用于创建内容模板。最后一个模式就是一个例子。
text_patterns_lookup
此选项允许指定一个函数,该函数动态地将额外的文本模式附加到默认的text_patterns中。该函数接受一个上下文对象作为参数,并返回一个文本模式数组。每当编辑器触发文本模式匹配时,就会调用此函数。
类型: 函数
示例:使用 text_patterns_lookup
tinymce.init({
selector: 'textarea', // 根据你的 HTML 更改此值
text_patterns_lookup: (ctx) => {
const parentTag = ctx.block.nodeName.toLowerCase();
if (parentTag === 'pre') {
return [
{ start: '`', end: '`', format: 'code' }
];
} else if (parentTag === 'p') {
return [
{ start: '*', end: '*', format: 'bold' }
];
} else if (parentTag === 'span') {
return [
// ctx.text 是从块开始到光标的字符串
{ start: 'brb', replacement: ctx.text + ': Be Right Back' }
];
} else {
return [];
}
}
});typeahead_urls
此选项控制是否启用或禁用自动补全URL字段功能。
类型: 布尔值
默认值: true
可能的值: true, false
示例:使用 typeahead_urls
tinymce.init({
selector: 'textarea', // 根据你的 HTML 更改此值
typeahead_urls: false
});