最近在项目中需要用到富文本编辑器,据说ck-editor5很不错,于是就使用它了,不过在期间也遇到了很多问题,这里记录下。

一、引入ck-editor5

文档地址:Predefined builds - CKEditor 5 Documentation

这里有个坑,我最初是根据文档执行下面的npm命令下载的,最后捣腾了半天发现里面功能不全,就是一个简单版本的ck-editor

所以不推荐使用

npm install --save @ckeditor/ckeditor5-build-classic

推荐引入方式:

自定义配置自己所需要的功能生成build文件然后在项目中引入

自定义配置地址:CKEditor 5 Online Builder | Create your own editor in 5 steps

1. 选择一个自己喜欢的风格 - 这里我选择第一个

2. 添加自己所需要的功能 - 部分功能可能收费 - 选择免费的就可以(标签上带图标的收费 - 猜测)

3.  调整工具栏的位置 - 就算这里位置调错也没事,之后也可以在代码中修改

 4. 选择一种语言 进行下一步

 5. 最后开始生成代码文件就自定义完成了

6. 最后下载生成的文件

二、在项目中引入ck-editor5

下载出来的文件中build是刚刚配置完成后打包后的文件

如果需要重新调整工具栏的位置 - 只需要改变这边代码的顺序然后执行npm命令

npm install  npm run build 就能重新生成一个新的build文件

将下载下来文件中的build文件放到自己的项目中

 三、在项目中使用

1. 如果添加了上传图片的功能则需要写一个上传文件的类(这里是也是百度了许久得出的答案)

创建一个 UploadAdapter.js 文件,代码如下:

/*** 配合ckeditor编辑器的上传类* */
export default class UploadAdapter {// 加载器#loader;// 上传的地址#uploadFileUrl = "";/** 构造方法 */constructor(loader) {this.loader = loader;}/** 上传方法 */upload() {this.loader.file.then(res => {console.log(res)});}/** 中止上传过程方法 */abort() {}
}

 2. 最后一步,使用,直接上代码

我这里是用vue3的,这里获取到的editor对象不能与reactive和ref有关联,单独放在外面就好,不需要响应式!

<template><div><div id="ck-editor"></div><button @click="handleClick">获取内容</button></div>
</template><script lang="ts">
import { defineComponent, reactive, toRefs, onMounted, toRaw } from 'vue';
import UploadAdapter from './UploadAdapter.js';export default defineComponent({setup() {const state = reactive({});let editor: any = null;onMounted(() => {(window as any).ClassicEditor.create(document.getElementById("ck-editor")).then((_editor: any ) => {_editor.plugins.get('FileRepository').createUploadAdapter = (loader: any) => {return new UploadAdapter(loader);};editor = _editor;})})const handleClick = () => {console.log(editor.data.get())}return {...toRefs(state),handleClick,}}
});
</script>

四、最后执行代码  - 点击按钮后就能拿到想要的数据了

富文本编辑器 ck-editor5 的使用相关推荐

  1. django富文本编辑器

    setting.py配置 MEDIA_URL="/media/"#前端使用的媒体文件的路由,绝大部分情况下 MEDIA_ROOT=os.path.join(BASE_DIR,'st ...

  2. 富文本编辑器 CKeditor 配置使用 (带附件)

    Ckeditor下载地址:http://ckeditor.com/download 1.CKeditor的基本配置 var textval=CKEDITOR.instances.TextArea1.g ...

  3. 富文本编辑器上传图片的功能

    今天,我们来讲一下富文本编辑器上传图片功能的操作.首先,在这里需要引入一个js插件 (config.js),在插件里面写下配置图片上传的路径. 接下来,既然要实现上传图片的功能,那我们就需要一个东西是 ...

  4. Markdown富文本编辑器(数学公式教程)

    Markdown富文本编辑器(数学公式教程) 简单分类 行内公式示例如下 行间公式实例如下 希腊字母 上标与下标 括号 小括号与方括号 大括号 尖括号 上取整 下取整 求和与积分 求和 积分 连乘 其 ...

  5. web富文本编辑器的选择のxheditor

    最近在研究web富文本编辑器,处理知道的 1.老牌fckeditor           网址:http://ckeditor.com/ 2.百度退出的ueditor 网址:http://uedito ...

  6. 富文本编辑器粘贴复制Word

    公司做的项目需要用到粘贴Word功能.就是将word内容一键粘贴到网页编辑器(在线富文本编辑器)中.Chrome+IE默认支持粘贴剪切板中的图片,但是我要粘贴的文章存在word里面,图片多达数十张,我 ...

  7. 富文本编辑器tinymce支持从word复制粘贴保留格式和图片的插件powerpaste

    公司做的项目需要用到粘贴Word功能.就是将word内容一键粘贴到网页编辑器(在线富文本编辑器)中.Chrome+IE默认支持粘贴剪切板中的图片,但是我要粘贴的文章存在word里面,图片多达数十张,我 ...

  8. word内容带样式粘贴到富文本编辑器

    最近公司做项目需要实现一个功能,在网页富文本编辑器中实现粘贴Word图文的功能. 我们在网站中使用的Web编辑器比较多,都是根据用户需求来选择的.目前还没有固定哪一个编辑器 有时候用的是UEditor ...

  9. .net下的富文本编辑器FCKeditor的配置方法(图)原创

    .net下的富文本编辑器FCKeditor的配置方法(图)原创 FCKeditor是一款开源的富文本编辑器,几乎支持所有流行的Web开发语言,版本稳定,用户多,可配置性好. 以前做Java和php的时 ...

  10. jeecg富文本编辑器增加字体(仿宋)

    jeecg富文本编辑器增加字体(仿宋) 温馨提示:jeecg 提供了 uedit 富文本的实现,如下针对的是 uedit 增加仿宋字体示例. 主要修改三个文件:plug-in\ueditor\uedi ...

最新文章

  1. 多态指针访问虚函数不能被继承的类快速排序N皇后问题插入排序堆排序merge归并排序栈上生成对象两个栈实现一个队列...
  2. 利用php打印出九行菱形,PHP新手上路(九)
  3. 老板说“我们要做个性化推荐”时,你该怎么办......
  4. typeof null的返回值是什么?_数据类型与typeof
  5. oracle数据库时分秒格式_Oracle如何输出指定格式的日期时间数据呢?
  6. hdu 4333 Revolving Digits
  7. anaconda的安装与使用详细教程
  8. .net winform 的 OnKeyDown 与 方向键
  9. opencv 图像阈值 二值化处理
  10. pl2303 USB转串口驱动
  11. 易语言禁止服务器,禁止指定程序联网易语言源码
  12. M0、M1、M2、M3
  13. thinkphp开发码支付系统/三网免挂/微信金额免输入/源支付5.8/打造更专业的聚合免签支付系统带云端
  14. python交易是什么意思_py交易什么梗?起源及流行原因
  15. SqlSugar 6.导航查询
  16. u盘无响应+开启什么服务器,服务没有及时响应启动或控制请求怎么办?如何解决系统服务没有及时响应启动...
  17. MySQL如何同时删除主外键关联的两张表中的数据
  18. lambda no instance(s) of type variable(s) T exist so that void conforms to R
  19. 数据挖掘:FP-Growth算法 (Python实现)
  20. 百度统计 渠道分析 渠道名称显示 未知

热门文章

  1. TensorFlow 学习(一)—— tf get variable vs tf Variable ,tf nam
  2. 【数据产品案例】阿里生意参谋-竞争情报
  3. panda开始python的数据科学
  4. Nginx教程(1)
  5. 微信15分钟视频怎么发送(简单实用的方法)
  6. 四足蜘蛛机器人--制作过程记录
  7. linux上面跑lvgl GUI简单实例
  8. li , io域名国外注册教程
  9. 各互联网大厂工程师薪资新鲜出炉,速来围观!
  10. 记录一下自己的本本,DELL 640M铲掉XP,重装VISTA的过程