TinyMCE PowerPaste 插件
TinyMCE 具有内置的粘贴功能,然而 PowerPaste 是一个高级插件,提供了改进的粘贴支持,包括对 Microsoft Word、Microsoft Excel 和 Google Docs 内容的支持。它还包含在将内容粘贴到编辑器中时清理或合并样式的选项。
有关信息,请参阅 PowerPaste 插件。
核心粘贴功能和 PowerPaste 共享许多选项,尽管有些存在细微差异。以下选项专门适用于核心粘贴功能。例如,paste_block_drop、paste_data_images、paste_remove_styles_if_webkit和paste_webkit_styles选项是核心功能特有的,不适用于 PowerPaste 插件。
控制内容的粘贴方式
这些选项会影响将 HTML 内容粘贴到编辑器中时的处理方法。
paste_as_text
此选项允许您设置 Edit 菜单下拉菜单中“Paste as text”菜单项的默认状态。默认情况下它是禁用的。
类型: Boolean
默认值: false
可能的值: true、false
示例:使用 paste_as_text
tinymce.init({
selector: 'textarea', // change this value according to your HTML
toolbar: 'paste',
paste_as_text: true
});paste_block_drop
由于浏览器的限制,无法过滤拖放到编辑器中的内容。当 paste_block_drop 设置为 true 时,将禁止将内容拖放到编辑器中。这可以防止引入未经过滤的内容。复制和粘贴仍然启用。
类型: Boolean
默认值: false
可能的值: true、false
示例:使用 paste_block_drop
tinymce.init({
selector: 'textarea', // change this value according to your HTML
paste_block_drop: false
});paste_merge_formats
此选项在粘贴内容时启用合并格式功能。这会合并相同的文本格式元素,以减少生成的 HTML 元素数量。例如:<b>abc <b>bold</b> 123</b> 变成 <b>abc bold 123</b>,因为内部格式是多余的。此选项默认启用,但如果保留嵌套或相同的格式元素很重要,则可以禁用。
类型: Boolean
默认值: true
可能的值: true、false
示例:使用 paste_merge_formats
tinymce.init({
selector: 'textarea', // change this value according to your HTML
toolbar: 'paste',
paste_merge_formats: false
});paste_tab_spaces
此选项控制粘贴纯文本内容时,HTML 中使用多少个空格来表示一个 tab 字符。默认情况下,当粘贴 tab 字符时,它们将被转换为 4 个连续的空格字符。
类型: Number
默认值: 4
示例:使用 paste_tab_spaces
tinymce.init({
selector: 'textarea', // change this value according to your HTML
toolbar: 'paste',
paste_tab_spaces: 2
});smart_paste
smart_paste 函数将:
检测类似 URL 的文本并将文本更改为超链接。
检测类似图片 URL 的文本,并尝试用图片替换文本。
要禁用 smart_paste 功能,请将 smart_paste 设置为 false。要配置识别哪些图像文件类型,请参阅 图像和文件选项 - images_file_types。
类型: Boolean
默认值: true
可能的值: true、false
将powerpaste_autolink_urls选项设置为false将覆盖smart_paste选项的自动链接功能。
示例:使用 smart_paste
tinymce.init({
selector: 'textarea', // change this value according to your HTML
toolbar: 'paste',
smart_paste: false
});过滤粘贴的内容
这些选项控制 HTML 内容的过滤方式,以便在粘贴到编辑器中时内容被消除或保留。
paste_data_images
此选项指定是否应从粘贴的内容中移除 data:url 图像(内联图像)。
将 paste_data_images 设置为 true 将允许粘贴的图像,而设置为 false 将不允许粘贴的图像。
类型: Boolean
默认值: true
可能的值: true、false
示例:使用 paste_data_images
tinymce.init({
selector: 'textarea', // 根据HTML更改此值
toolbar: 'paste',
paste_data_images: false
});paste_preprocess
此选项允许你在粘贴内容插入编辑器之前对其进行修改。
类型: Function
示例:使用 paste_preprocess
tinymce.init({
selector: 'textarea', // 根据HTML更改此值
toolbar: 'paste',
paste_preprocess: (editor, args) => {
console.log(args.content);
args.content += ' preprocess';
}
});paste_postprocess
此选项允许你在粘贴内容插入编辑器之前对其进行修改,但此时内容已经被解析为DOM结构。
类型: Function
示例:使用 paste_postprocess
tinymce.init({
selector: 'textarea', // 根据HTML更改此值
toolbar: 'paste',
paste_postprocess: (editor, args) => {
console.log(args.node);
args.node.setAttribute('id', '42');
}
});paste_remove_styles_if_webkit
此选项允许你禁用TinyMCE针对Webkit样式的默认粘贴过滤器。
类型: Boolean
默认值: true
可能的值: true, false
示例:使用 paste_remove_styles_if_webkit
tinymce.init({
selector: 'textarea', // 根据HTML更改此值
toolbar: 'paste',
paste_remove_styles_if_webkit: false
});paste_webkit_styles
此选项允许你指定在WebKit中粘贴时想要保留的样式。WebKit有一个特性,它会获取元素的所有计算CSS属性,并将它们添加到编辑器内的span元素中。由于大多数用户不希望文档中随意添加span元素,我们需要手动清理这些元素,直到此问题得到修复。此选项默认值为'none',但可以设置为'all'或指定要保留的样式列表。
类型: String
默认值: 'none'
可能的值: 'none', 'all' 或空格分隔的样式列表
示例:使用 paste_webkit_styles
tinymce.init({
selector: 'textarea', // 根据HTML更改此值
toolbar: 'paste',
paste_webkit_styles: 'color font-size'
});