Ckeditor5 自定义安装 防出错实战教程(一)安装篇

富文本编辑器 ck-editor5 的使用 最近在项目中需要用到富文本编辑器,据说ck-editor5很不错,于是就使用它了,不过在期间也遇到了很多问题,这里记录下。一、引入ck-editor5文档地址:Predefined builds - CKEditor 5 Documentation这里有个坑,我最初是根据文档执行下面的npm命令下载的,最后捣腾了半天发现里面功能不全,就是一个简单版本的ck-editor所以不推荐使用 推荐引入方式: 自定义配置自己所需要的功能生成build文件然后在项目中引入自定义配置地址:CKEditor 5 Onl 阅读详情

Ckeditor5 自定义安装防出错实战教程(一)安装篇

本教程重点介绍自定义安装,需求不高的,可以下载官网集成版和自定义版(在线生成online-builder)。

网上很多教程拷贝来拷贝去,不是链接错,就是下载的文件不完整。本篇将解决你的安装烦恼,拒绝踩坑。。。

CKEditor5采用npm方式安装插件,后续升级方便。

直奔主题:

npm安装:
npm安装方式首先需要安装并配置好node.js环境和git工具
node.js环境要求: 安装nodejs
传送门

https://nodejs.org/zh-cn/

安装好,即可用,绿色解压版的要自己去配置环境变量,这里不多说了。
下载源码到本地 (cmd 或Git 都可以哪个顺手用哪个吧)
cmd 省事,如果你安装有GIt 就用Git。

有人用国内镜象,本人掉坑里很多次。所以建议用官方的不出错,如果下载失败,就关掉命令窗多来几次,,总之,会成功的,相信哥不会错。

执行下载命令

git clone -b stable https://github.com/ckeditor/ckeditor5

一、进入文件夹

执行命令

cd ckeditor5/packages/ckeditor5-build-classic

安装package.json里面一些项目依赖的包,比如webpack。

执行命令

npm install

耐心等待,完成后,接下来开始安装插件

二、安装插件:

在这里推荐一些比较常用的插件,
不需要的插件,直接删除该行命令不执行即可。

执行命令

npm install --save @ckeditor/ckeditor5-alignment
npm install --save @ckeditor/ckeditor5-autosave
npm install --save @ckeditor/ckeditor5-code-block
npm install --save @ckeditor/ckeditor5-find-and-replace
npm install --save @ckeditor/ckeditor5-font
npm install --save @ckeditor/ckeditor5-highlight
npm install --save @ckeditor/ckeditor5-horizontal-line
npm install --save @ckeditor/ckeditor5-markdown-gfm
npm install --save @ckeditor/ckeditor5-page-break
npm install --save @ckeditor/ckeditor5-remove-format
npm install --save @ckeditor/ckeditor5-source-editing
npm install --save @ckeditor/ckeditor5-special-characters
npm install --save @ckeditor/ckeditor5-word-count

有的说为什么这么少呢,看别人一堆?其实看过原文件结构你就知道了,大多数插件,默认是已经安装了,只是没有调用,所以没有必要再安装一遍了,起码时间上省了一大半(10分钟)。

修改文件 直接替换吧:

ckeditor5-build-classic\src\ckeditor.js
直接复制下面的内容替换,其它部分自己在编辑器界面调用工具栏按钮。

/**
 * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

// The editor creator to use.
import ClassicEditorBase from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials';
import UploadAdapter from '@ckeditor/ckeditor5-adapter-ckfinder/src/uploadadapter';
import Autoformat from '@ckeditor/ckeditor5-autoformat/src/autoformat';
import Bold from '@ckeditor/ckeditor5-basic-styles/src/bold';
import Italic from '@ckeditor/ckeditor5-basic-styles/src/italic';
import BlockQuote from '@ckeditor/ckeditor5-block-quote/src/blockquote';
import CKFinder from '@ckeditor/ckeditor5-ckfinder/src/ckfinder';
import EasyImage from '@ckeditor/ckeditor5-easy-image/src/easyimage';
import Heading from '@ckeditor/ckeditor5-heading/src/heading';
import Image from '@ckeditor/ckeditor5-image/src/image';
import ImageCaption from '@ckeditor/ckeditor5-image/src/imagecaption';
import ImageStyle from '@ckeditor/ckeditor5-image/src/imagestyle';
import ImageToolbar from '@ckeditor/ckeditor5-image/src/imagetoolbar';
import ImageUpload from '@ckeditor/ckeditor5-image/src/imageupload';
import Indent from '@ckeditor/ckeditor5-indent/src/indent';
import Link from '@ckeditor/ckeditor5-link/src/link';
import List from '@ckeditor/ckeditor5-list/src/list';
import MediaEmbed from '@ckeditor/ckeditor5-media-embed/src/mediaembed';
import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
import PasteFromOffice from '@ckeditor/ckeditor5-paste-from-office/src/pastefromoffice';
import Table from '@ckeditor/ckeditor5-table/src/table';
import TableToolbar from '@ckeditor/ckeditor5-table/src/tabletoolbar';
import TextTransformation from '@ckeditor/ckeditor5-typing/src/texttransformation';
import CloudServices from '@ckeditor/ckeditor5-cloud-services/src/cloudservices';

//加载增加的插件类
//基本样式类
import Code from '@ckeditor/ckeditor5-basic-styles/src/code';
import Strikethrough from '@ckeditor/ckeditor5-basic-styles/src/strikethrough';
import Subscript from '@ckeditor/ckeditor5-basic-styles/src/subscript';
import Superscript from '@ckeditor/ckeditor5-basic-styles/src/superscript';
import Underline from '@ckeditor/ckeditor5-basic-styles/src/underline';
//字体类
import Font from '@ckeditor/ckeditor5-font/src/font';
//文章类
import Alignment from '@ckeditor/ckeditor5-alignment/src/alignment';
import CodeBlock from '@ckeditor/ckeditor5-code-block/src/codeblock';
import Clipboard from '@ckeditor/ckeditor5-clipboard/src/clipboard';
import FindAndReplace from '@ckeditor/ckeditor5-find-and-replace/src/findandreplace';
import Highlight from '@ckeditor/ckeditor5-highlight/src/highlight';
import HorizontalLine from '@ckeditor/ckeditor5-horizontal-line/src/horizontalline';
import Markdown from '@ckeditor/ckeditor5-markdown-gfm/src/markdown';
import RemoveFormat from '@ckeditor/ckeditor5-remove-format/src/removeformat';
import SourceEditing from '@ckeditor/ckeditor5-source-editing/src/sourceediting';
import PageBreak from '@ckeditor/ckeditor5-page-break/src/pagebreak';
import WordCount from '@ckeditor/ckeditor5-word-count/src/wordcount';
//块缩进
import IndentBlock from '@ckeditor/ckeditor5-indent/src/indentblock';
//列表类
import ListStyle from '@ckeditor/ckeditor5-list/src/liststyle';
import TodoList from '@ckeditor/ckeditor5-list/src/todolist';
//图片类
import ImageInsert from '@ckeditor/ckeditor5-image/src/imageinsert';
import ImageResize from '@ckeditor/ckeditor5-image/src/imageresize';
import LinkImage from '@ckeditor/ckeditor5-link/src/linkimage';
//特殊符号类
import SpecialCharacters from '@ckeditor/ckeditor5-special-characters/src/specialcharacters';
import SpecialCharactersArrows from '@ckeditor/ckeditor5-special-characters/src/specialcharactersarrows';
import SpecialCharactersCurrency from '@ckeditor/ckeditor5-special-characters/src/specialcharacterscurrency';
import SpecialCharactersEssentials from '@ckeditor/ckeditor5-special-characters/src/specialcharactersessentials';
import SpecialCharactersLatin from '@ckeditor/ckeditor5-special-characters/src/specialcharacterslatin';
import SpecialCharactersMathematical from '@ckeditor/ckeditor5-special-characters/src/specialcharactersmathematical';
import SpecialCharactersText from '@ckeditor/ckeditor5-special-characters/src/specialcharacterstext';
//表格类
import TableCellProperties from '@ckeditor/ckeditor5-table/src/tablecellproperties';
import TableProperties from '@ckeditor/ckeditor5-table/src/tableproperties';

// import SimpleUploadAdapter from '@ckeditor/ckeditor5-upload/src/adapters/simpleuploadadapter';
// import FontFamily from '@ckeditor/ckeditor5-font/src/fontfamily';

export default class ClassicEditor extends ClassicEditorBase {}

// Plugins to include in the build.
ClassicEditor.builtinPlugins = [
	//基础
	BlockQuote,
	Bold,
	Code,
	Essentials,
	Italic,
	Strikethrough,
	Subscript,
	Superscript,
	Underline,
	//文章
	Alignment,
	Clipboard,
	CodeBlock,
	CloudServices,
	FindAndReplace,
	Font,
	Heading,
	Highlight,
	HorizontalLine,
	Link,
	//Markdown,
	RemoveFormat,
	//RemoveFormatLinks,
	SourceEditing,
	PageBreak,
	PasteFromOffice,
	Paragraph,
	WordCount,
	//缩进
	Indent,
	IndentBlock,
	//列表
	List,
	ListStyle,
	TodoList,
	//图片
	Image,
	ImageCaption,
	ImageInsert,
	ImageResize,
	ImageStyle,
	ImageToolbar,
	ImageUpload,
	LinkImage,
	//表格
	Table, 
	TableToolbar, 
	TableProperties, 
	TableCellProperties,
	//文件
	CKFinder,
	EasyImage,
	MediaEmbed,
	//SimpleUploadAdapter,
	UploadAdapter,
	//特殊符号
	SpecialCharacters,
    	SpecialCharactersArrows,
    	SpecialCharactersCurrency,
    	SpecialCharactersEssentials,
    	SpecialCharactersLatin,
    	SpecialCharactersMathematical,
    	SpecialCharactersText,
	//其它
	Autoformat,
	
	TextTransformation,

];

// Editor configuration.
ClassicEditor.defaultConfig = {
	toolbar: {
		items: [
			'heading',
			'|',
			'bold',
			'italic',
			'link',
			'bulletedList',
			'numberedList',
			'|',
			'outdent',
			'indent',
			'|',
			'uploadImage',
			'blockQuote',
			'insertTable',
			'mediaEmbed',
			'undo',
			'redo'
		]
	},
	image: {
		toolbar: [
			'imageStyle:inline',
			'imageStyle:block',
			'imageStyle:side',
			'|',
			'toggleImageCaption',
			'imageTextAlternative'
		]
	},
	table: {
		contentToolbar: [
			'tableColumn',
			'tableRow',
			'mergeTableCells'
		]
	},
	// This value must be kept in sync with the language defined in webpack.config.js.
	language: 'en'
};

ps:要改中文界的话,有两处,一处就是 上面的最后一行代码,en-> zh-cn,另一处就是根目录下webpack.config.js 中 有一处要也要设为zh-cn,如下:

`language:'zh-cn'`

如果需求不高,简单用用,改了就可以了。

如果有后续升级或扩展需求的强烈建议不要改。因为每次构建,en是默认语言,而zh-cn有时会有小问题。

执行以下命令进行编译构建

npm run build

约1分钟,翻译文件生成了,即大功告成。
下面加载自选项,打开 packages\ckeditor5-build-classic\sample下的index.html文件,待会就要看这个界面的
在如下位置添加代码

1、引入中文语言
2、在“)”后添加" ,{}" 里面就是自定义的工具栏,加好后内容如下
在这里插入图片描述
加好后js代码如下

<script src="../build/ckeditor.js"></script>
<script src="../build/translations/zh-cn.js"></script>
<script>
	ClassicEditor.create( document.querySelector( '#editor' ),{
	toolbar: {
				items: [
					'sourceEditing',
					'|','undo','redo',
					'|','heading',
					'|','findandReplace','alignment','bold','italic','underline','code',
					'horizontalLine','removeformat','link','strikethrough','subscript','superscript','blockQuote','specialCharacters',
					'|','FontSize','FontColor','FontBackgroundColor','FontFamily','highlight',
					'|','numberedList','bulletedList','todoList','outdent','indent','pageBreak',
					'|','insertImage','cKFinder','insertTable','mediaEmbed',
				
				]
			},
			//设置字体
			fontFamily: {
				options: [
					'default',
					'Blackoak Std',
					'宋体,SimSun',
					'新宋体,NSimSun',
					'微软雅黑,Microsoft YaHei',
					'楷体_GB2312,KaiTi_GB2312',
					'隶书,LiSu',
					'幼园,YouYuan',
					'华文细黑,STXihei',
				]
			},
			image: {

				styles: [
					'full','alignLeft', 'alignCenter', 'alignRight'
				],  
				resizeOptions: [
					{
					name: 'resizeImage:原尺寸',
					label: '原尺寸',
					value: null
					},
					{
					name: 'resizeImage:25',
					label: '25%',
					value: '25'
					},
					{
					name: 'resizeImage:50',
					label: '50%',
					value: '50'
					},
					{
					name: 'resizeImage:75',
					label: '75%',
					value: '75'
					}
				],
				toolbar: [
					// 'imageStyle:full',
					// 'imageStyle:side',
					'imageStyle:alignLeft',
					'imageStyle:alignCenter',
					'imageStyle:alignRight',
					'|',
					'resizeImage', 
					'|',
					'toggleImageCaption',
					'imageTextAlternative',
					'linkImage'
				],

			},
			table: {
			contentToolbar: [
			'tableColumn',
			'tableRow',
			'mergeTableCells',
			'tableCellProperties',
			'tableProperties'
			]
			},
			language: 'zh-cn'
	} )
		.then( editor => {
			window.editor = editor;
		} )
		.catch( error => {
			console.error( 'There was a problem initializing the editor.', error );
		} );
</script>

如果一切正常,可以在浏览器中打开文件sample/index.html,以查看插件是否已正确安装。
界面如下:
在这里插入图片描述
好了,开始愉快的玩耍吧,抽空再写一个如何使用ckeditor5 上传文件吧~。。。自己也在学习中,有不对的地方,欢迎留言交流。

【Django富文本编辑】Ckeditor的配置、使用和踩坑(应该全) 目录 一、基本应用 1.安装 2.配置ckeditor 3.models字段使用,引用步骤2中的ckeditor配置 4.forms字段使用 5.admin后台使用 二、前端应用 1.基本使用中的全部执行完后可以设置前端页面了(没有步骤5也可以) 2.urls路由 3.views配置 4.html页面配置 5.post后台处理数据 三、带图片上传的编辑器 1.安装pillow(所有屠屏功能都需要这个库) 2.添加配置ckeditor 3.urls文件配置 4.修改modes 阅读详情

相关推荐

富文本编辑器:ckeditor(使用ckeditor4-vue)

最近,vue项目中使用了富文本编辑器,经过反复研究,选择了ckeditor,ckeditor分为4和5,我们选的4,网上中文的相关资料比较少,总结一下使用的经验。 官方网站:https://ckeditor.com/ckeditor-4/,里面有下载,文档等,Add-ons里面还有额外的plugin。 构建vue项目 首先使用vue create ckeditor_example_1创建vue项目,因为我们的控件使用了element-ui,因此进入项目先下载一下控件npm install --save el

gao_grace的博客 8422

Web开发的富文本编辑器CKEditor介绍,Django有库ckeditor_uploader对它进行支持,django-ckeditor安装方法及使用注意事项

Web开发的富文本编辑器CKEditor介绍,Django有库ckeditor_uploader对它进行支持

昊虹AI笔记 5660

ckeditor5上传图片至服务器(解决自带代码上传失败问题)

直接开始正题 1、前端代码 加载JS文件 &lt;script src="ckeditor.js"&gt;&lt;/script&gt; 页面内js &lt;script&gt; var myEditor = null; window.onload = function(){ CKEDITOR = ClassicEditor .create(document.queryS...

冷心为上 4581

CKEditor5 经验总结 (SpringBoot项目)

SpringBoot CKEditor5

BinziD的博客 3648

CKEditor5 图片上传 (tp5-oss)

前端: <script> ClassicEditor .create( document.querySelector( '#editor' ), { // toolbar: [ 'heading', '|', 'bold', 'italic', 'link' ] ckfinder: { ...

weixin_42957379的博客 1237

wsl --install 不执行,显示帮助信息

在安装使用wsl的时候碰到了wsl --install 不执行,而显示帮助信息,提供了解决方案。

水滴爬呀爬 2775

Ckeditor5 整合Ckfinder3 防出错实战教程(二)整合篇

ckfinder3的网站我就不说了,建议大家下载3.4以下的吧,如果你是php8.0以上的话可以下载3.5以上的,我也没细看说明,反正下载下来提示要php8.0以上,就直接删除了,重新下了低版本的。ps: Ckfinder3是需要授权的,网上也有破解方法,本人也是研究好久才破解的,这里就不说了,我们只是拿来研究学习,支持正版,哈哈!1、把下载下来的文件去掉外层文件包,象这样放入网站目录中,具体位置自己记好就可以了,如图是我放的位置。3、这样就可以了,我们还要做些配置修改,不然会有提示无法使用。

码农大兵的博客 1056

零基础也能懂的Arduino ESP32离线安装包图文教程

手把手教你完成Arduino ESP32离线安装包的配置,无需联网也能快速搭建开发环境,适合初学者和网络受限用户,轻松实现arduino esp32离线安装包部署。

weixin_36213081的博客 2684

CKEditor5自定义插件文档生成:使用Typedoc自动生成API文档

你是否还在为CKEditor5自定义插件的API文档维护而烦恼?手动编写文档不仅耗时费力,还容易出现注释与代码不同步、格式混乱等问题。特别是在团队协作或开源项目中,缺乏规范的API文档会显著降低开发效率。本文将彻底解决这一痛点,通过Typedoc+JSDoc组合实现API文档的自动化生成,确保文档与代码实时同步,同时提供专业级的阅读体验。 读完本文你将掌握: - Typedoc在CKEditor...

gitblog_01136的博客 760

1.1.4 运用防火墙实现入侵防御

摘要:本文详细介绍了某公司网络拓扑中防火墙FW1的配置过程。主要内容包括:1)通过web界面登录防火墙;2)配置三个接口的IP地址及所属安全区域;3)创建两个入侵防御配置文件(anti_untrust和anti_trust);4)配置安全策略untrust2dmz和trust2dmz,分别允许公网/内网访问WWW服务器;5)保存配置。操作步骤配有详细截图说明,涉及接口配置、安全区域划分、入侵防御策略设定等关键环节,最终实现内外网对服务器Server1的安全访问控制。(149字)

Ljs040411的博客 2135

从平面到立体:一张图看懂MOSFET、FinFET到GAAFET的演变史(附结构对比图)

本文深入解析了半导体晶体管从平面MOSFET到三维FinFET,再到全环绕栅极GAAFET的技术演进历程。通过结构对比图和物理原理分析,揭示了每一次创新如何解决短沟道效应等关键挑战,推动芯片性能提升。特别关注GAAFET作为最新技术突破的架构特点和性能优势。

weixin_30892037的博客 699

【亲测免费】 CKEditor 5 经典构建指南

CKEditor 5 经典构建指南 项目介绍 CKEditor 5 经典构建是CKEditor 5家族中的一个核心版本,它保留了传统编辑器界面的直观性和熟悉度,适合于那些寻求功能全面且成熟的文本编辑解决方案的开发者和用户。此项目提供了一套丰富的文本编辑特性,支持高度自定义,并在GNU GPL Version 2 或更高版本的许可下发布。通过访问其GitHub仓库 https://github.c...

gitblog_00471的博客 1182

Dedecms5.8中的CKEditor4.15 粘贴图片上传出错的Bug的修复

CKEditor4.6 开始就支持粘贴图片自动上传的功能,例如: 你可以在Word文档中选中一个图片,使用Ctrl+C,然后在CKEditor中使用Ctrl+V,这个时候可以实现图片自动上传,方便了不少。优快云使用的是CKEditor5,也支持这个功能。在CKEditor的官网的例子中,测试该项功能,均正常使用。 但是在Dedecms中使用的时候,提示如下 通过在浏览器中使用F12查看错误信息,可以看到上传图片的url出错,url应该是select_images_post.php?而不是selec

ffzzyy的博客 717

系统磁盘从MBR格式转换成GPT格式来升级win11

之前的《》中说到,需要把磁盘格式转化为MBR格式才能执行下去。问题是,win10升级win11要求启动方式为UEFI的话,磁盘格式不能为MBR。其实不升级也不影响啥,但是就是想好看点。所以花了点时间折腾了一下。我这是双系统,所以直接去A系统修复B系统的磁盘格式和引导。

qq_42520962的博客 9041

[QMT和ptrade量化交易小白入门]-120、卖出深度虚值期权的三重过滤策略

本专栏主要是介绍QMT和ptrade的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写200篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 285

在 Next.js 中集成 CKEditor 5(npm 安装方式):App Router 与 Pages Router 完整实战指南

CKEditor 5 是模块化架构的富文本编辑器框架,在 Next.js 项目中可以通过官方 React 组件快速集成。本文以仓库文档 [docs/getting-started/integrations/next-js.md](https://link.gitcode.com/i/6fcc316c1dfe0b720be0ab4a02f61b89) 为主体,完整讲解从 npm 安装、`'use c

gitblog_00887的博客 466

MAX30102心率血氧传感器原理图设计,已量产(e-Health传感器)

在最近的便携健康监测设备项目中,我们采用了集成算法的 MAX30102 心率血氧模块 —— 这类带内置 MCU 算法的传感器能直接输出心率 / 血氧数值,大幅降低了主控资源占用。但硬件电路的稳定性直接决定了 PPG 信号的采集精度,下面结合实际项目里的原理图,拆解下这个模块的设计细节。

不脱发的程序猿 1283

ckeditor java 上传_javaWeb 集成ckeditor5实现上传图片

一开始用官方的上传图片的代码ClassicEditor.create(document.querySelector('#editor'), {ckfinder: {uploadUrl:"" + rootPath + "/qiNiu/uploadFile.json" //图片上传url}}).then(editor => {} ).catch(error => {console.log(...

weixin_29099729的博客 307

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ckeditor-html5-video视频插件详细配置

3、将html5video加到CKEDITOR_CONFIGS,修改Django的setting.py配置文件。1、ckeditor-》config.js-》extraPlugins配置启用html5video插件。出错点:第一处的首字母一定要大写,因为复制粘贴忘了大写了导致没成功。ckeditor-html5-video视频插件详细配置

weixin_64096823的博客 963

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

CKEditor 5实战指南:从预置编辑器到Framework自定义开发

富文本编辑器是内容管理系统和业务平台不可或缺的基础组件。从底层原理看,主流编辑器大多基于contenteditable实现,但面对结构化内容时容易产生脏HTML与输出不可控。CKEditor 5的解决方案是将数据模型、编辑视图与输出数据分离,通过Schema约束内容合法性,再以转换器完成三层间映射,从而让开发者既能快速接入官方预置构建,也能基于Framework自定义块级插件,实现符合业务语义的结构化输出。无论是后台内容发布、在线文档,还是需要深度定制的业务卡片场景,掌握这一套架构都能显著降低维护成本。本文

weixin_34098209的博客 282

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Sturts中使用CKEditor

CKEditor是sourceforge.net上面的一个开源项目,主要是实现在线网页编辑器的功能。下载地址是http://ckeditor.com/download。 1.解压ckeditor_3.5.2.zip,将ckeditor文件夹复制到webroot下的js目录下。

go372900589的专栏 593

ckeditor java 使用教程_javaWeb 集成ckeditor5实现上传图片

一开始用官方的上传图片的代码ClassicEditor.create(document.querySelector('#editor'), {ckfinder: {uploadUrl:"" + rootPath + "/qiNiu/uploadFile.json" //图片上传url}}).then(editor => {} ).catch(error => {console.log(...

weixin_29955689的博客 391

CKEditor、ckfinder 随笔

CKEditor 提速:禁用拼写检查 ckeditor 的自动拼写检查功能(通过与svn.spellchecker.net网站交互完成),使得 ckeditor 的装载非常的慢,有时显得录入反应相当的慢。拼写检查对于中文是多余了,所以可以把此功能屏蔽掉。官方网站的说法是 Scayt' (spell checker as yout type)   修改 ckeditor_3.3.1\c...

wanghu1970的专栏 221

CKEditor5图片上传终极指南:从零配置自定义服务器(附完整代码)

本文提供了CKEditor5图片上传功能的完整配置指南,详细解析了其基于FileRepository插件和UploadAdapter接口的异步上传架构。通过分步讲解前端自定义适配器的编写、后端Node.js接口的安全设计,以及如何集成到编辑器实例,帮助开发者实现稳定、安全的图片上传功能,并支持对接自定义服务器或云存储。

weixin_29304021的博客 450

CKEditor5框架架构深度剖析:从数据模型到视图渲染的完整流程

你是否曾面临以下挑战:实现复杂编辑功能时DOM操作频繁出错?协同编辑时遭遇数据同步混乱?自定义功能时受限于编辑器内核?CKEditor5的模块化架构通过创新的MVC设计彻底解决这些问题。本文将系统剖析其从数据模型到视图渲染的全流程,带你掌握: - 如何通过自定义数据模型规避DOM的固有缺陷 - 三阶段转换机制如何实现数据与视图的解耦 - 插件化架构如何支持功能的灵活扩展 - 从用户输入到页面渲染...

gitblog_00363的博客 739
下一篇: Ckeditor5 整合Ckfinder3 防出错实战教程(二)整合篇
BINGs911
博客等级 码龄13年 19粉丝 12原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值