时间:2021-05-28
ckeditor是一款功能很强大的富文本编辑的工具,给我们提供了绝大多数功能,满足我们日常开发所用,但由于特殊情况,可能会需要修改ckeditor的插件。ckeditor提供了给我们很方便扩展插件的接口。
最经由于项目的需要,需要重写ckeditor的上传图片的功能,以下是自定义图片上传功能的部分代码:
1、在ckeditor/plugins/目录下新建editorupload目录,用来存放自定义插件;在该目录下新建目录images用来存放自定以图片,在images目录下放入插件图片image.png.
2、在editorupload目录下新建plugin.js:
(function () { var a = { exec: function (editor) { //调用jsp中的函数弹出上传框, var url = '../view/fileupload/upload.jsp'; openDialog({ //openDialog打开一个新窗口 title: '插入图片', url: url, height: 600, width: 900, callback:function(){ } }); } }, b = 'editorupload'; CKEDITOR.plugins.add('editorupload', { init: function (editor) { editor.addCommand(b, a); editor.ui.addButton('editorupload', { label: '添加图片', //鼠标悬停在插件上时显示的名字 icon: 'plugins/editorupload/images/image.png', //自定义图标的路径 command: b }); } });})();在上面代码中,新建了一个upload.jsp页面用来上传图片,使用了openDialog弹出一个新的窗口,设置了弹出框的高度和宽度。
CKEDITOR.plugins.add将自定义的editorupload加入到ckeditor中。
下面是部分upload.jsp页面代码:
<div id="mainContent"> </div> <div class=" box"> <table class=" m-table"> <colgroup> <col width="20%"/> <col width="80%"/> </colgroup> <tr> <td style="vertical-align:top;"><label class="module-name">图片说明</label></td> <td> <ul> <li>1、《PC首页轮播图片》长宽为666×250显示效果最好;《APP首页轮播图片》长宽为422×262显示效果最好;</li> <li>3、图片提交才会在首页生效;</li> </ul> </td> </tr> </table> </div> <div id="Pictures" class="detailWraper nopadding" style="display: none;height: auto;"> <input id="hidPicturesStatus" type="hidden" value="0"/> <input id="hidCurrPictures" type="hidden" value=''/> <input id="hidDictSuggestion" type="hidden" value=''/> <table> <tr> <td> <div id="fileQueue"></div> <div id="picWrapper"></div> <a id="fake-dlg-bigPic" href="javascript:void(0)" style="display: none;"></a> <div id="dlg-bigPic" class="popImg" style="display: none;"> <a class="leftBtn" href="javascript:void(0)"></a> <a class="rightBtn" href="javascript:void(0)"></a> <a class="closeImgBtn" href="javascript:void(0)"></a> <div class="imgList"> <ul></ul> </div> </div> <div class="validation-summary-valid"> <ul> <li style="display: none"></li> </ul> </div> </td> </tr> </table> </div> <div> <button id="fileUpload">批量上传</button> <button id="submit" class="btn btn-primary" style="vertical-align: top;line-height:23px;width:112px;height: 35px;">提交照片 </button> </div></div>upload.jps页面部分的js代码:
//提交照片 photoTaskDetail.submit = function () { var pictures = window.picManager._getPictures(); if (pictures.length < 1) { alert('请至少上传1张图片'); return false; } for (var i in pictures) { var imgPath = "<img src='" + staticFileRoot + pictures[i].URL + "'/>"; var element = window.parent.CKEDITOR.dom.element.createFromHtml(imgPath); window.parent.CKEDITOR.instances.editorContent.insertElement(element); } parent.closeDialog(false); }上面代码中,可以上传多张照片,分别将照片放入到ckeditor中。
配置ckeditor的config.js:
将editorupload插件加入到ckeditor中。
以下是实现的部分截图:
实现总结:在自定义插件过程中,必须把原插件的图片插入的功能给打开,负责上传的图片不会被放入到ckeditor中,图片地址会被自动的过滤掉。这可能是ckeditor版本的bug导致。有解决方案的欢迎指导。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
基于jquery的日历价格、库存等设置插件。需要设置的参数(字段)需自定义,详见(demo)使用方法…源码地址Createbycapricorncd/2017-
本文实例讲述了帝国CMS自定义列表SQL调用方法。分享给大家供大家参考。具体方法如下:帝国CMS自定义列表可以用来实现特定的信息列表。自定义列表使用方法:用户进
这里是三岁,来和大家唠唠自定义函数,这一个神奇的东西,带大家白话玩转自定义函数自定义函数,编程里面的精髓!def自定义函数的必要函数:def使用方法:def函数
前言:前面几篇讲了自定义控件绘制原理Android自定义控件基本原理详解(一),Android自定义控件之自定义属性(二),Android自定义控件之自定义组合
上一篇记录了BaiduTemplate模板引擎使用示例(附源码),在此基础上对使用方法进行了封装自定义插件jajaxrefresh.js代码如下://闭包限定命