模板简介
模板使用说明(必读)
主题配色问题
关于V5模板中的CSS变量
首页修改地址后刷新不变的问题
顶部导航对应侧边栏菜单切换
侧边栏菜单的JS初始化
iframe子页面刷新问题
iframe版本右侧内容区域404问题
关于非iframe版本菜单高亮
iframe版本的Tab插件相关问题
关于iframe版本里面的加载动画
webuploader使用时候的问题
模板字体图标问题
关于版权和商业用途
模板中固有插件
bootstrap-colorpicker颜色选择
bootstrap-datepicker日期选择
bootstrap-datetimepicker日期时间
bootstrap-maxlength长度验证
bootstrap-select下拉选择
bootstrap-table表格插件
fullcalendar日程插件
jquery-confirm对话框
jquery-tagsinput标签插件
magnific-popup图片查看
webuploader上传插件
bootstrap-notify消息插件
chartjs图表插件
bootstrap.wizard向导插件
perfect-scrollbar滚动条插件
bootstrap-multitabs多标签
moment.js日期处理类
loading插件
popper插件
插件项目包含插件
bootstrap-daterangepicker
material-datetimepicker
dropzone上传
cropper图片裁剪
ckeditor富文本编辑器
editor.md编辑器
summernote富文本编辑器
tinymce富文本编辑器
ueditor富文本编辑器
wangeditor富文本编辑器
jquery-validate表单验证
bootstrap-selectN联动
bootstrap-lyear-select下拉
select2下拉选择框
lyear-dropdowntree下拉树状
ZTree树形菜单
treeview树状插件
jstree树状结构
imgVer拼图滑块
sliderVerification滑块验证
layer弹窗插件
jquery.auto.complete自动填充
fixedheadertable固定表头
fontIconPicker图标选择
jQuery Raty评分插件
jquery.toolbar弹出式工具栏
bootstrap-touchspin输入微调器
插件项目包含示例
表单布局示例
聊天页面示例
logo处使用文字
模态框中使用Tab
模态框最大化
搜索布局
搜索布局2
选择示例
选择示例2
选择示例3
选择示例4
代码演示切换
留言列表布局
布局(数据统计篇)
布局(产品价格篇)
布局(搜索框篇)
布局(用户篇)
布局(动画篇)
布局(其他篇)
另一种侧边栏菜单
顶部和左侧联动
JS初始化菜单
H5上传
ckeditor富文本编辑器 - 光年模板(V5)说明文档 - 笔下光年
网站首页
ckeditor富文本编辑器
富文本编辑器是几乎所有后台系统都会用到的,之所以不直接集成在模板项目中,是因为富文本编辑器的种类很多,有的都已经有十几M,而且每个人喜欢的都不一样,为了保证模板尽可能的小,将更多的富文本编辑器放到插件整合项目中,大家可以自己来选择使用哪一款。 这里ckeditor示例使用的版本是4.13.0,而ckeditor已有5的版本,这里也做了5的演示。 github地址:https://github.com/ckeditor 文档地址: https://ckeditor.com/ckeditor-4/ https://ckeditor.com/ckeditor-5/ #### ckeditor 4 ![](/uploads/images/20211231/859a379ff3c07a4539e866dfc0c4f9e9.png) ```html <textarea id="testtextarea" name="testcontent"></textarea> ``` ```javascript $(document).ready(function(){ CKEDITOR.replace('testcontent', { // 配置可放在config.js中 // 成功返回格式{"uploaded":1,"fileName":"图片名称","url":"图片访问路径"} // 失败返回格式{"uploaded":0,"error":{"message":"失败原因"}} image_previewText: ' ', filebrowserImageUploadUrl: "upload.php?type=ckeditor" }); }); ``` #### ckeditor 5 ![](/uploads/images/20230107/a370a60226c0e62eef8903c82459b9d3.png) ```html <div id="editor"></div> ``` ```json // 重点代码 适配器 class UploadAdapter { constructor(loader) { this.loader = loader; } upload() { return new Promise((resolve, reject) => { const data = new FormData(); let file = []; //this.loader.file 这是一个Promise格式的本地文件流,一定要通过.then 进行获取,之前在各大博客查了很多文章都拿不到这个值,最后经过两个多小时的探索终于找到了是Promise问题。 this.loader.file.then(res=>{ file = res; //文件流 data.append('file', file); //传递给后端的参数,参数名按照后端需求进行填写 data.append('type','ckeditor'); $.ajax({ url: 'data/upload.php', //后端的上传接口 type: 'POST', data: data, dataType: 'json', processData: false, contentType: false, success: function (data) { // 成功返回格式{"uploaded":1,"fileName":"图片名称","url":"图片访问路径"} // 失败返回格式{"uploaded":0,"message":"失败原因"} if (data) { resolve({ default: '/data/' + data.url // 自己定义好自己的路径,这里演示用 }); } else { reject(data.msg); } } }); }) }); } abort() { } } ClassicEditor .create( document.querySelector( '#editor' ), { // toolbar: [ 'heading', '|', 'bold', 'italic', 'link' ] placeholder: '欢迎使用光年后台管理模板!', language: 'zh-cn' } ) .then( editor => { // 加载了适配器 editor.plugins.get('FileRepository').createUploadAdapter = (loader)=>{ return new UploadAdapter(loader); }; window.editor = editor; } ) .catch( err => { console.error( err.stack ); } );// 重点代码 适配器 class UploadAdapter { constructor(loader) { this.loader = loader; } upload() { return new Promise((resolve, reject) => { const data = new FormData(); let file = []; //this.loader.file 这是一个Promise格式的本地文件流,一定要通过.then 进行获取,之前在各大博客查了很多文章都拿不到这个值,最后经过两个多小时的探索终于找到了是Promise问题。 this.loader.file.then(res=>{ file = res; //文件流 data.append('file', file); //传递给后端的参数,参数名按照后端需求进行填写 data.append('type','ckeditor'); $.ajax({ url: 'data/upload.php', //后端的上传接口 type: 'POST', data: data, dataType: 'json', processData: false, contentType: false, success: function (data) { // 成功返回格式{"uploaded":1,"fileName":"图片名称","url":"图片访问路径"} // 失败返回格式{"uploaded":0,"message":"失败原因"} if (data) { resolve({ default: '/data/' + data.url // 自己定义好自己的路径,这里演示用 }); } else { reject(data.msg); } } }); }) }); } abort() { } } ClassicEditor .create( document.querySelector( '#editor' ), { // toolbar: [ 'heading', '|', 'bold', 'italic', 'link' ] placeholder: '欢迎使用光年后台管理模板!', language: 'zh-cn' } ) .then( editor => { // 加载了适配器 editor.plugins.get('FileRepository').createUploadAdapter = (loader)=>{ return new UploadAdapter(loader); }; window.editor = editor; } ) .catch( err => { console.error( err.stack ); } ); ``` 插件项目中页面名字:`lyear_js_ckeditor_4.html` `lyear_js_ckeditor_5.html` `/data/upload.php` (上传演示用) 演示地址:http://lyear.itshubao.com/v5/example/ 涉及的文件: - `js/ckeditor4/ckeditor.js` - `js/ckeditor5/ckeditor.js` - `js/ckeditor5/translations/zh-cn.js`
上一篇:
cropper图片裁剪
下一篇:
editor.md编辑器