vue项目中更换tinymce版本踩坑

项目需求:

vue项目中实现多图片批量上传功能

问题:

tinymce富文本编辑器的多图片批量上传插件 支持版本:5.0.4+
项目中现有的富文本编辑器版本:4.9.4
为实现这一功能选择更换tinymce版本 于是开启踩坑之旅。。

实现:

1.替换项目中tinymce文件 本项目放在\static\plugins文件夹

将tinymce.4.9.4更换成从官网上 http://download.tiny.cloud/tinymce/community/tinymce_5.7.0.zip
下载下来解压过的文件

并将语言包下载解压放到tinymce文件中 langs文件夹的zh_CN.js文件

2.更换路径

index.html文件内部的引入路径

<script src="./static/plugins/tinymce.4.9.4/tinymce.min.js"></script>
<script src="./static/plugins/tinymce.4.9.4/zh_CN.js"></script>

更换成自己替换后的文件:

<script src="./static/plugins/tinymce/tinymce.min.js"></script>
<script src="./static/plugins/tinymce/langs/zh_CN.js"></script>

static\config中init.js文件内部

'https://cdn.bootcss.com/tinymce/4.9.4/tinymce.min.js',
window.SITE_CONFIG.cdnUrl + '/static/plugins/tinymce.4.9.4/zh_CN.js',

同样作替换(用外部链接之后页面出现加载太慢问题,这里作下调整):

window.SITE_CONFIG.cdnUrl + '/static/plugins/tinymce/tinymce.min.js',
window.SITE_CONFIG.cdnUrl + '/static/plugins/tinymce/langs/zh_CN.js',

根据自己修改后的路径进行正确替换即可 如果此时页面上没有富文本编辑器可能不是你路径问题

3.富文本编辑器不出现原因

排查之后是theme: 'modern', 这个主题问题
改成TinyMCE随附的默认主题silver theme: 'silver', 之后 成功显示在页面 可参考文档做主题替换

4.工具栏内容不出现

通过查看文档http://tinymce.ax-z.cn/general/basic-setup.php 在toolbar逐步添加自己需要的工具
通过参照文档在plugins添加需要的插件
在这里插入图片描述
此时可以参考文档加入多图片批量上传插件

在这里插入图片描述
tinymce文档代码:

tinymce.init({
   
    selector: '#tinydemo',
    plugins: "code image axupimgs",
    toolbar: "code axupimgs",
    images_upload_base_path: '/demo',
    images_upload_handler: function (blobInfo, succFun, failFun) {
   
        var xhr, formData;
        var file = blobInfo.blob();//转化为易于理解的file对象
        xhr = new XMLHttpRequest();
        xhr.withCredentials = false;
        xhr.open('POST', '/demo/upimg2.php');
        xhr.onload = function() {
   
            var json;
            if (xhr.status != 200) {
   
                failFun('HTTP Error: ' + xhr.status);
                return;
            }
            json = JSON.parse(xhr.responseText);
            if (!json || typeof json.location != 'string') {
   
                failFun('Invalid JSON: ' + xhr.responseText);
                
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于 Vue 项目引入 tinymce 富文本编辑器,我们需要先在项目安装 tinymce 的依赖包,可以通过 npm 指令进行安装。安装成功后,我们需要在组件引入并初始化 tinymce 编辑器。 首先,我们需要在组件引入 tinymce,可以通过 `import 'tinymce/tinymce'` 和 `import 'tinymce/themes/silver'` 来引入 tinymce 核心文件和主题文件。然后,我们在组件的 `mounted()` 生命周期函数进行 tinymce 编辑器的初始化。如下所示: ``` <template> <div> <textarea id="editor"></textarea> </div> </template> <script> import 'tinymce/tinymce' import 'tinymce/themes/silver' export default { mounted() { tinymce.init({ selector: '#editor', height: 500, plugins: [ 'paste', 'table', 'advlist' ], toolbar: 'undo redo | styleselect | bold italic | alignleft aligncenter alignright | bullist numlist outdent indent | table | code | preview' }) } } </script> ``` 在初始化过程,我们需要指定要初始化的 HTML 元素的选择器 `selector`,这里是 `'#editor'`,然后可以进行一系列的配置,包括高度、插件、工具栏等,具体可以参考官方文档。 需要注意的是,在组件销毁时我们需要进行 tinymce 编辑器的销毁,可以在 `beforeDestroy()` 生命周期函数进行编写。如下所示: ``` <script> import 'tinymce/tinymce' import 'tinymce/themes/silver' export default { data() { return { tinymceInstance: null } }, mounted() { this.tinymceInstance = tinymce.init({ selector: '#editor', ... }) }, beforeDestroy() { tinymce.remove(this.tinymceInstance) } } </script> ``` 以上就是 Vue 项目引入 tinymce 富文本编辑器的一个基本流程,可以根据自己的需求进行相应的配置调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值