前端react 18.2整合ckeditor富文本编辑器——配置插件、自定义toolbar工具栏(一)

简介: 前端react 18.2整合ckeditor富文本编辑器——配置插件、自定义toolbar工具栏

⭐前言

大家好,我是yma16,本文分享关于前端react整合ckeditor——配置插件、自定义toolbar工具栏。

react系列往期文章:

react-grapesjs——开源代码学习与修改(初出茅庐)

react搭建在线编辑html的站点——引入grapes实现在线拖拉拽编辑html

【腾讯云 Cloud studio 实战训练营】搭建Next框架博客——抛开电脑性能在云端编程(沉浸式体验)

博客搭建_react-markdown渲染内容

博客搭建_登录注册

博客搭建_初始化next项目

关于ckeditor

CKEditor是一种强大的可嵌入式编辑器,用于在Web浏览器中编辑文本内容。它支持HTML,CSS和JavaScript,可以用于创建富文本编辑器,包括文本格式化,图像和视频插入,链接,表格等。 CKEditor提供许多插件,以便用户可以自定义其编辑器的外观和功能。它是由CKSource公司开发和维护的开源软件。

ckeditor发展历史

CKEditor是一个开源的WYSIWYG HTML编辑器,最初由FredCK创建,在2003年发布第一个版本。在经过多个版本的更新和改进之后,CKEditor 4在2012年发布,它是一个完全重构的版本,具有更好的性能和更好的可扩展性。

在CKEditor 4发布后,它成为了最流行的HTML编辑器之一,并在全球范围内广受欢迎。CKEditor 4的成功得益于其强大的功能和易于使用的界面,以及灵活的插件系统和丰富的文档支持。

CKEditor 4的发展历程如下:

  • 2003年:CKEditor的第一个版本发布,这是一个基于Javascript的HTML编辑器。
  • 2005年:CKEditor 2发布,这是一个完全重构的版本,具有更多的功能和更好的性能。
  • 2008年:CKEditor 3发布,这是一个基于Web标准的编辑器,具有更加现代的界面和更好的可访问性。
  • 2012年:CKEditor 4发布,这是一个完全重构的版本,具有更好的性能和更好的可扩展性。

随着Web技术的不断发展,CKEditor团队不断更新和改进编辑器,以适应最新的Web标准和技术。最新的版本是CKEditor 5,它是一个全新的版本,具有更加现代化的界面和更好的可访问性。

⭐引入ckeditor

ckeditor4的官网配置:https://ckeditor.com/docs/ckeditor4/latest/guide/dev_installation.html

ckeditor 的两种模式

  • Classic Editing 典型编辑器
  • Inline Editing 内联编辑器

**Classic Editing **

编辑器通常由放置在页面上特定位置的工具栏和编辑区域表示,通常作为表单的一部分

Inline Editing

内联编辑是 CKEditor 4中引入的一项新技术,它允许您选择页面上的任何可编辑元素并就地进行编辑。因此,编辑器可用于编辑看起来与最终页面相似的内容。

悬浮的tooltip工具栏

区别

Classic Editing 工具栏位置固定

Inline Editing 工具栏位置悬浮在选择字体的周围

效果预览:

https://yongma16.xyz/react-mjml/

⭐npm 包引入

安装ckeditor

$ npm install ckeditor4-react

官网案例 Classic Editing

import React from 'react';
import { CKEditor } from 'ckeditor4-react';
function App() {
    return (
        <div className="App">
            <h2>Using CKEditor 4 in React</h2>
            <CKEditor
                initData="<p>Hello from CKEditor 4!</p>"
                onInstanceReady={ () => {
                    alert( 'Editor is ready!' );
                } }
            />
        </div>
    );
}
export default App;

这里我作为组件引入

效果:

⭐cdn资源引入

在ckeditor4的官网下载:https://ckeditor.com/ckeditor-4/download/

下载开源的源码包

在react的静态资源文件中引入,放入public文件目录

Inline Editing 案例使用

index.html引入ckeditor

<script src="./ckeditor/ckeditor.js"></script>

如下图所示

CkeditorPage.tsx

import { useEffect } from "react";
const CkeditorPage=(props:any)=>{
    useEffect(()=>{
        if(CKEDITOR){
            // @ts-ignore
            CKEDITOR.disableAutoInline = true;
            // @ts-ignore
            CKEDITOR.inline( 'editor1' );
        }
    },[])
    return <>
        <div id="editor1" contentEditable="true">
            <h1>Inline Editing in Action!</h1>
            <p>The "div" element that contains this text is now editable.</p>
        </div>
    </>
};
export default CkeditorPage;

其中销毁ckeditor的方法如下:

for(name in CKEDITOR.instances)
{
    CKEDITOR.instances[name].destroy()
}

内联编辑器的效果


选中字体才出现工具栏,专注于预览效果。



前端react 18.2整合ckeditor富文本编辑器——配置插件、自定义toolbar工具栏(二)https://developer.aliyun.com/article/1492706

目录
相关文章
|
10天前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
54 2
|
2月前
|
设计模式 存储 前端开发
React开发设计模式及原则概念问题之自定义Hooks的作用是什么,自定义Hooks设计时要遵循什么原则呢
React开发设计模式及原则概念问题之自定义Hooks的作用是什么,自定义Hooks设计时要遵循什么原则呢
|
5天前
|
前端开发 JavaScript
乾坤qiankun(微前端)样式隔离解决方案--使用插件替换前缀
乾坤qiankun(微前端)样式隔离解决方案--使用插件替换前缀
36 8
|
1月前
|
前端开发
React给antd中TreeSelect组件左侧加自定义图标icon
本文介绍了如何在React中为Ant Design的TreeSelect组件的每个树节点添加自定义图标,并解决了因缺少key属性而导致的警告问题,展示了如何通过递归函数处理treeData数据并为每个节点添加图标。
32 2
React给antd中TreeSelect组件左侧加自定义图标icon
|
13天前
|
编解码 前端开发 UED
前端:移动端视口配置
移动端视口配置是指针对移动设备浏览器设置视口的宽度、高度和缩放等属性,以确保网页能根据不同的屏幕尺寸和分辨率进行适配,提供更好的用户体验。合理的视口配置是移动优先设计的关键环节。
|
19天前
|
JavaScript 前端开发 网络架构
|
18天前
|
存储 前端开发 Java
验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)
本文介绍了使用Kaptcha插件在SpringBoot项目中实现验证码的生成和验证,包括后端生成验证码、前端展示以及通过session进行验证码校验的完整前后端代码和配置过程。
20 0
验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)
|
5天前
|
资源调度 前端开发 安全
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
7 0
|
5天前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
35 0
|
1月前
|
前端开发 Python
React技术栈-React路由插件之自定义组件标签
关于React技术栈中React路由插件自定义组件标签的教程。
47 4
React技术栈-React路由插件之自定义组件标签

热门文章

最新文章