前端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

目录
相关文章
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
1474 2
|
Dart 前端开发
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
590 75
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
Dart 前端开发 容器
【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
594 18
【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
编解码 前端开发 开发者
React 图片组件样式自定义:常见问题与解决方案
在 React 开发中,图片组件的样式自定义常因细节问题导致布局错乱、性能损耗或交互异常。本文系统梳理常见问题及解决方案,涵盖基础样式应用、响应式设计、加载状态与性能优化等,结合代码案例帮助开发者高效实现图片组件的样式控制。重点解决图片尺寸不匹配、边框阴影不一致、移动端显示模糊、加载失败处理及懒加载等问题,并总结易错点和最佳实践,助力开发者提升开发效率和用户体验。
698 22
|
Web App开发 移动开发 前端开发
React 视频播放器样式自定义实战指南
本文详细介绍了如何在React项目中实现视频播放器的样式自定义,涵盖HTML5 `&lt;video&gt;`标签的基础知识、CSS样式定制技巧及常见问题解决方案。针对全屏模式样式失效、移动端触摸事件冲突和进度条样式定制等问题提供了具体代码示例。同时,探讨了视频预加载策略和内存优化方法,并推荐了几款调试工具,帮助开发者提升用户体验和应用性能。
551 6
|
Web App开发 移动开发 前端开发
React音频播放器样式自定义全解析:从入门到避坑指南
在React中使用HTML5原生&lt;audio&gt;标签时,开发者常面临视觉一致性缺失、样式定制局限和交互体验割裂等问题。通过隐藏原生控件并构建自定义UI层,可以实现完全可控的播放器视觉风格,避免状态不同步等典型问题。结合事件监听、进度条拖拽、浏览器兼容性处理及性能优化技巧,可构建高性能、可维护的音频组件,满足跨平台需求。建议优先使用成熟音频库(如react-player),仅在深度定制需求时采用原生方案。
684 12
|
人工智能 自然语言处理 计算机视觉
华为鸿蒙自己家的“AI”编辑器插件用起来到底怎么样?
编辑器AI插件如Codegeex、通义灵码等已问世,但通用性较强而不专精。华为推出的CodeGenie专为鸿蒙开发设计,集成在DevEco 5.0.0以上版本中,提供代码补全、生成等功能,尤其擅长处理鸿蒙相关问题,极大降低了鸿蒙开发的门槛。安装后需重启,支持自然语言生成代码,提升了开发效率。
1395 13
|
前端开发 数据安全/隐私保护
.自定义认证前端页面
.自定义认证前端页面
221 1
.自定义认证前端页面
|
JSON 前端开发 数据格式
前端的全栈之路Meteor篇(五):自定义对象序列化的EJSON介绍 - 跨设备的对象传输
EJSON是Meteor框架中扩展了标准JSON的库,支持更多数据类型如`Date`、`Binary`等。它提供了序列化和反序列化功能,使客户端和服务器之间的复杂数据传输更加便捷高效。EJSON还支持自定义对象的定义和传输,通过`EJSON.addType`注册自定义类型,确保数据在两端无缝传递。
425 1
|
前端开发 定位技术 API
二、前端高德地图、渲染标记(Marker)引入自定义icon,手动设置zoom
文章介绍了如何在前端使用高德地图API渲染标记(Marker),并引入自定义图标,同时展示了如何手动设置地图的缩放级别。
2497 1