当前位置: 首页 > news >正文

富文本编辑器Tinymce的使用、图片可编辑尺寸、自定义plugin(数学公式)、自定义icons

提示:vue2 + tinymce@5

文章目录

    • @[TOC](文章目录)
  • 前言
  • 一、图片可编辑尺寸
  • 二、改为行内富文本编辑器
  • 三、添加自定义插件mathjax、kityformula-editor
  • 四、生成公式组
  • 五、添加自定义icons
  • 总结

前言

使用富文本编辑器

一、图片可编辑尺寸

1、editor/Index.vue

<template><div class="editor_box"><textarea name="" id="editorId"></textarea></div>
</template><script>
import tinymce from 'tinymce';
// 主题
import 'tinymce/themes/silver/theme.js';
// 图标
import 'tinymce//icons/default/icons.js';
// 工具
import 'tinymce/plugins/image/plugin.js';
import 'tinymce/plugins/code/plugin.js';
export default {name: 'Editor',data () {return {}},mounted(){this.initTinymce();},methods:{initTinymce(){tinymce.init({// 选择器selector: '#editorId',// 工具plugins: "code,image",// 控制编辑器内容样式content_css:['static/tinymce/css/index.css','static/tinymce/css/test.css'],// 允许编辑器跨域访问css文件content_css_cors: true,// 顶部menu栏menubar:"",// 底部状态栏statusbar: false,// 工具栏toolbar: "undo redo | formatting | text | align | lineheight | outdent indent | image | code ",// 工具组toolbar_groups: {formatting: {icon: 'bold',tooltip: 'Formatting',items: 'bold italic underline strikethrough'},text: {icon: 'format',tooltip: 'text',items: 'fontselect fontsizeselect forecolor'},text: {icon: 'align',tooltip: 'align-left',items: 'alignleft aligncenter alignright alignjustify'}},// 字体列表font_formats: ["黑体", "仿宋", "楷体", "宋体", "GB Pinyinok-A", "iTeach拼音", "方正综艺简体", "微软雅黑", "汉仪糯米团W", "方正楷体简体", "方正粗圆简体", "方正准圆简体", "华文琥珀", "汉仪铸字杂货铺简", "方正胖娃简体", "方正楷体拼音字库", "Microsoft YaHei", "Arial", "Arial Black", "Arial Rounded Bold", "Comic Sans MS", "Times New Roman", "Chalkboard", "MarkerFelt", "Sassoon Infant", "Century Gothic", "calibri", "Jotting", "Kinqsoft Phonetic Plain", "Marydale", "SCRIPT1 Rager Hevvy", "Segoe Print", "GCFruBol", "GCFruRom", "JetBrains Mono", "DIN Condensed"].join(';'),// 字号列表fontsize_formats: "14px 16px 18px 20px 24px 28px 32px 36px 40px",// 行高列表line_height_formats: '1 1.2 1.4 1.6 2',// 语言包地址language_url:"static/tinymce/langs/zh_CN.js",// 语言language: "zh_CN",// 皮肤skin_url:'static/tinymce/skins/ui/oxide',// 图片可编辑image_dimensions: true,});},},
}
</script>
<style scoped></style>

在这里插入图片描述

2、过程遇到问题:图片没有可拖拽点位
在这里插入图片描述
官方文档上就有拖拽点位
在这里插入图片描述
3、排查问题:
在这里插入图片描述
在这里插入图片描述
4、解决方案

错误方案
排查发现缺少content.css样式 通过引入
import ‘tinymce/skins/ui/oxide/skin.min.css’;
import ‘tinymce/skins/ui/oxide/content.min.css’;
没有效果 @_@~~

正确方案
设置皮肤skin
skin路径:static/tinymce/skins/ui/oxide
配置:skin_url:‘static/tinymce/skins/ui/oxide’,

此处引入图片仅为测试使用,不会构成商业用途,如侵权请联系作者删除,谢谢!

二、改为行内富文本编辑器

1、editor/Index.vue

<template><div class="editor_box"><div class="editor_content" name="" id="editorId"></div></div>
</template><script>
import tinymce from 'tinymce';
// 主题
import 'tinymce/themes/silver/theme.js';
// 图标
import 'tinymce//icons/default/icons.js';
// 工具
import 'tinymce/plugins/image/plugin.js';
import 'tinymce/plugins/code/plugin.js';
export default {name: 'Editor',data () {return {}},mounted(){this.initTinymce();},methods:{initTinymce(){tinymce.init({// 选择器selector: '#editorId',// 工具plugins: "code,image",// 控制编辑器内容样式content_css:['static/tinymce/css/index.css','static/tinymce/css/test.css'],// 允许编辑器跨域访问css文件content_css_cors: true,// 顶部menu栏menubar:"",// 底部状态栏statusbar: false,// 工具栏toolbar: "undo redo | formatting | text | align | lineheight | outdent indent | image | code ",// 工具组toolbar_groups: {formatting: {icon: 'bold',tooltip: 'Formatting',items: 'bold italic underline strikethrough'},text: {icon: 'format',tooltip: 'text',items: 'fontselect fontsizeselect forecolor'},text: {icon: 'align',tooltip: 'align-left',items: 'alignleft aligncenter alignright alignjustify'}},// 字体列表font_formats: ["黑体", "仿宋", "楷体", "宋体", "GB Pinyinok-A", "iTeach拼音", "方正综艺简体", "微软雅黑", "汉仪糯米团W", "方正楷体简体", "方正粗圆简体", "方正准圆简体", "华文琥珀", "汉仪铸字杂货铺简", "方正胖娃简体", "方正楷体拼音字库", "Microsoft YaHei", "Arial", "Arial Black", "Arial Rounded Bold", "Comic Sans MS", "Times New Roman", "Chalkboard", "MarkerFelt", "Sassoon Infant", "Century Gothic", "calibri", "Jotting", "Kinqsoft Phonetic Plain", "Marydale", "SCRIPT1 Rager Hevvy", "Segoe Print", "GCFruBol", "GCFruRom", "JetBrains Mono", "DIN Condensed"].join(';'),// 字号列表fontsize_formats: "14px 16px 18px 20px 24px 28px 32px 36px 40px",// 行高列表line_height_formats: '1 1.2 1.4 1.6 2',// 语言包地址language_url:"static/tinymce/langs/zh_CN.js",// 语言language: "zh_CN",// 皮肤skin_url:'static/tinymce/skins/ui/oxide',// 图片可编辑image_dimensions: true,// 行内元素inline: true,});},},
}
</script>
<style scoped>
.editor_content{border: 1px solid #333;
}
</style>

在这里插入图片描述
在这里插入图片描述

三、添加自定义插件mathjax、kityformula-editor

mathjax官网
kityformula-editor gitee地址

下载好的插件放在目录:static/tinymce/mathjax、static/tinymce/kityformula-editor

1、editor/Index.vue

<template><div class="editor_box"><div class="editor_content" name="" id="editorId"></div></div>
</template><script>
import tinymce from 'tinymce';
// 主题
import 'tinymce/themes/silver/theme.js';
// 图标
import 'tinymce//icons/default/icons.js';
// 工具
import 'tinymce/plugins/image/plugin.js';
import 'tinymce/plugins/code/plugin.js';
export default {name: 'Editor',data () {return {}},mounted(){this.initTinymce();},methods:{initTinymce(){tinymce.init({// 选择器selector: '#editorId',// 工具plugins: ["code","image","kityformula-editor","mathJax"],base_url: 'static/tinymce/',// 控制编辑器内容样式content_css:['static/tinymce/css/index.css','static/tinymce/css/test.css'],// 允许编辑器跨域访问css文件content_css_cors: true,// 顶部menu栏menubar:"",// 底部状态栏statusbar: false,// 工具栏toolbar: "kityformula-editor | mathJax | formatting | text | align | lineheight | outdent indent | image | code ",// 工具组toolbar_groups: {formatting: {icon: 'bold',tooltip: 'Formatting',items: 'bold italic underline strikethrough'},text: {icon: 'format',tooltip: 'text',items: 'fontselect fontsizeselect forecolor'},text: {icon: 'align',tooltip: 'align-left',items: 'alignleft aligncenter alignright alignjustify'}},// 字体列表font_formats: ["黑体", "仿宋", "楷体", "宋体", "GB Pinyinok-A", "iTeach拼音", "方正综艺简体", "微软雅黑", "汉仪糯米团W", "方正楷体简体", "方正粗圆简体", "方正准圆简体", "华文琥珀", "汉仪铸字杂货铺简", "方正胖娃简体", "方正楷体拼音字库", "Microsoft YaHei", "Arial", "Arial Black", "Arial Rounded Bold", "Comic Sans MS", "Times New Roman", "Chalkboard", "MarkerFelt", "Sassoon Infant", "Century Gothic", "calibri", "Jotting", "Kinqsoft Phonetic Plain", "Marydale", "SCRIPT1 Rager Hevvy", "Segoe Print", "GCFruBol", "GCFruRom", "JetBrains Mono", "DIN Condensed"].join(';'),// 字号列表fontsize_formats: "14px 16px 18px 20px 24px 28px 32px 36px 40px",// 行高列表line_height_formats: '1 1.2 1.4 1.6 2',// 语言包地址language_url:"static/tinymce/langs/zh_CN.js",// 语言language: "zh_CN",// 皮肤skin_url:'static/tinymce/skins/ui/oxide',// 图片可编辑image_dimensions: true,// 行内元素inline: true,});},},
}
</script>
<style scoped>
.editor_content{border: 1px solid #333;
}
</style>

2、mathJax
在这里插入图片描述
3、kityformula-editor

在这里插入图片描述

四、生成公式组

1、editor/Index.vue

<template><div class="editor_box"><div class="editor_content" name="" id="editorId"></div></div>
</template><script>
import tinymce from 'tinymce';
// 主题
import 'tinymce/themes/silver/theme.js';
// 图标
import 'tinymce//icons/default/icons.js';
// 工具
import 'tinymce/plugins/image/plugin.js';
import 'tinymce/plugins/code/plugin.js';
export default {name: 'Editor',data () {return {}},mounted(){this.initTinymce();},methods:{initTinymce(){tinymce.init({// 选择器selector: '#editorId',// 工具plugins: ["code","image","kityformula-editor","mathJax"],base_url: 'static/tinymce/',// 控制编辑器内容样式content_css:['static/tinymce/css/index.css','static/tinymce/css/test.css'],// 允许编辑器跨域访问css文件content_css_cors: true,// 顶部menu栏menubar:"",// 底部状态栏statusbar: false,// 工具栏toolbar: " math | formatting | text | align | lineheight | outdent indent | image | code ",// 工具组toolbar_groups: {formatting: {icon: 'bold',tooltip: 'Formatting',items: 'bold italic underline strikethrough'},text: {icon: 'format',tooltip: 'text',items: 'fontselect fontsizeselect forecolor'},align: {icon: 'align-left',tooltip: 'align',items: 'alignleft aligncenter alignright alignjustify'},math: {icon: 'character-count',tooltip: 'math',items: 'mathJax | kityformula-editor'}},// 字体列表font_formats: ["黑体", "仿宋", "楷体", "宋体", "GB Pinyinok-A", "iTeach拼音", "方正综艺简体", "微软雅黑", "汉仪糯米团W", "方正楷体简体", "方正粗圆简体", "方正准圆简体", "华文琥珀", "汉仪铸字杂货铺简", "方正胖娃简体", "方正楷体拼音字库", "Microsoft YaHei", "Arial", "Arial Black", "Arial Rounded Bold", "Comic Sans MS", "Times New Roman", "Chalkboard", "MarkerFelt", "Sassoon Infant", "Century Gothic", "calibri", "Jotting", "Kinqsoft Phonetic Plain", "Marydale", "SCRIPT1 Rager Hevvy", "Segoe Print", "GCFruBol", "GCFruRom", "JetBrains Mono", "DIN Condensed"].join(';'),// 字号列表fontsize_formats: "14px 16px 18px 20px 24px 28px 32px 36px 40px",// 行高列表line_height_formats: '1 1.2 1.4 1.6 2',// 语言包地址language_url:"static/tinymce/langs/zh_CN.js",// 语言language: "zh_CN",// 皮肤skin_url:'static/tinymce/skins/ui/oxide',// 图片可编辑image_dimensions: true,// 行内元素inline: true,});},},
}
</script>
<style scoped>
.editor_content{border: 1px solid #333;
}
</style>

在这里插入图片描述

五、添加自定义icons

1、editor/Index.vue

<template><div class="editor_box"><div class="editor_content" name="" id="editorId"></div></div>
</template><script>
import tinymce from 'tinymce';
// 主题
import 'tinymce/themes/silver/theme.js';
// 图标
import 'tinymce//icons/default/icons.js';
// 工具
import 'tinymce/plugins/image/plugin.js';
import 'tinymce/plugins/code/plugin.js';
export default {name: 'Editor',data () {return {}},mounted(){this.initTinymce();},methods:{initTinymce(){tinymce.init({// 选择器selector: '#editorId',// 工具plugins: ["code","image","kityformula-editor","mathJax"],base_url: 'static/tinymce/',// 控制编辑器内容样式content_css:['static/tinymce/css/index.css','static/tinymce/css/test.css'],// 允许编辑器跨域访问css文件content_css_cors: true,// 顶部menu栏menubar:"",// 底部状态栏statusbar: false,// 工具栏toolbar: " math | formatting | text | align | lineheight | outdent indent | image | code ",// 工具组toolbar_groups: {formatting: {icon: 'bold',tooltip: 'Formatting',items: 'bold italic underline strikethrough'},text: {icon: 'format',tooltip: 'text',items: 'fontselect fontsizeselect forecolor'},align: {icon: 'align-left',tooltip: 'align',items: 'alignleft aligncenter alignright alignjustify'},math: {icon: 'character-count',tooltip: 'math',items: 'mathJax | kityformula-editor'}},// 字体列表font_formats: ["黑体", "仿宋", "楷体", "宋体", "GB Pinyinok-A", "iTeach拼音", "方正综艺简体", "微软雅黑", "汉仪糯米团W", "方正楷体简体", "方正粗圆简体", "方正准圆简体", "华文琥珀", "汉仪铸字杂货铺简", "方正胖娃简体", "方正楷体拼音字库", "Microsoft YaHei", "Arial", "Arial Black", "Arial Rounded Bold", "Comic Sans MS", "Times New Roman", "Chalkboard", "MarkerFelt", "Sassoon Infant", "Century Gothic", "calibri", "Jotting", "Kinqsoft Phonetic Plain", "Marydale", "SCRIPT1 Rager Hevvy", "Segoe Print", "GCFruBol", "GCFruRom", "JetBrains Mono", "DIN Condensed"].join(';'),// 字号列表fontsize_formats: "14px 16px 18px 20px 24px 28px 32px 36px 40px",// 行高列表line_height_formats: '1 1.2 1.4 1.6 2',// 语言包地址language_url:"static/tinymce/langs/zh_CN.js",// 语言language: "zh_CN",// 皮肤skin_url:'static/tinymce/skins/ui/oxide',// 图片可编辑image_dimensions: true,// 行内元素inline: true,// 自定义icon地址icons_url:'static/tinymce/icon/index.js',// 自定义iconsicons: 'customIcons',});},},
}
</script>
<style scoped>
.editor_content{border: 1px solid #333;
}
</style>

在这里插入图片描述

总结

踩坑路漫漫长@~@

http://www.dtcms.com/a/415745.html

相关文章:

  • [创业之路-611]:半导体行业供应链 - 半导体原材料 - 电子特气
  • DreamBoards 推出 DreamHAT+ 雷达扩展板,为树莓派带来 60GHz 毫米波雷达
  • 做旅游网站都需要的调查在哪个网站可做网络夫妻
  • Coze源码分析-资源库-删除数据库-后端源码-领域服务/数据访问层
  • 游戏网站平台大全游戏网网站团购活动页面怎么做
  • Elasticsearch 从入门到实战
  • 网站如何调用手机淘宝做淘宝客佛山品牌策划设计
  • 氛围编程有哪些成功案例?
  • 网站优化外包推荐衡水企业做网站多少钱
  • 有哪些网站程序重庆网站建设的意义
  • Android开发-应用广播
  • AI 算力加速指南:Figma AI/Canva AI 全场景优化,从 “闪退卡顿” 到 “流畅创作”(一)
  • C++/C#游戏开发引擎和2D/3D图形库
  • 企业网站建设课件商业招商网站
  • 上海网站建设sheji021抖音代运营多少钱
  • 快递网站模版建网站公司汽车六万公里是否累变速箱油
  • 搭建了虚拟局域网,飞牛NAS的防火墙还需要开吗?
  • 中小学网站建设探讨海外网络推广外包
  • 安徽网站设计流程xp系统没有lls组件可以做网站吗
  • Mac中XXX将对您的电脑造成伤害, 您应该将它移到废纸篓
  • 广州市做网站公司品牌展柜设计制作
  • 计算机视觉进阶教学之dlib库(二)
  • 石家庄网站制作方案衡阳seo排名
  • 网站推广怎么做关键词网站抓取诊断
  • 牛客算法基础noob54 斗兽棋
  • 网站上传文件 ftpwordpress cdn系统
  • 企业介绍微网站怎么做淄博网站排名优化
  • 多相DDC数据FIR抽取滤波实例
  • 免费制作网站服务器网页做网站的尺寸
  • Strassen算法详解实现