ckeditor自定义插件使用方法解析

ckeditor即大名鼎鼎的fckeditor,该公司的另一个产品为ckfinder(一个ajax文件管理器)。ckeditor是一款功能强大的富文本编辑工具,这篇文章主要为大家详细介绍了ckeditor自定义插件的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

ckeditor是一款功能很强大的富文本编辑的工具,给我们提供了绝大多数功能,满足我们日常开发所用,但由于特殊情况,可能会需要修改ckeditor的插件。ckeditor提供了给我们很方便扩展插件的接口。

最经由于项目的需要,需要重写ckeditor的上传图片的功能,以下是自定义图片上传功能的部分代码:

1、在ckeditor/plugins/目录下新建editorupload目录,用来存放自定义插件;在该目录下新建目录images用来存放自定以图片,在images目录下放入插件图片image.png.

ckeditor自定义插件使用方法解析

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页面代码:

  

  

    

登录后复制      

        

        

      

                                            1、《PC首页轮播图片》长宽为666×250显示效果最好;《APP首页轮播图片》长宽为422×262显示效果最好;            3、图片提交才会在首页生效;                                

                

                        

          

                    

                                                

              

                                

            

                                                          

          

upload.jps页面部分的js代码:

//提交照片    photoTaskDetail.submit = function () {      var pictures = window.picManager._getPictures();      if (pictures.length ";        var element = window.parent.CKEDITOR.dom.element.createFromHtml(imgPath);        window.parent.CKEDITOR.instances.editorContent.insertElement(element);      }      parent.closeDialog(false);    }

登录后复制

上面代码中,可以上传多张照片,分别将照片放入到ckeditor中。
配置ckeditor的config.js:

config.extraPlugins += (config.extraPlugins ? ',editorupload' : 'editorupload');CKEDITOR.editorConfig = function( config ) {  config.font_names= '宋体/宋体;黑体/黑体;仿宋/仿宋_GB2312;楷体/楷体_GB2312;隶书/隶书;幼圆/幼圆;微软雅黑/微软雅黑;'+ config.font_names;  config.language = 'zh-cn';  config.extraPlugins += (config.extraPlugins ? ',lineheight' : 'lineheight');  config.extraPlugins += (config.extraPlugins ? ',editorupload' : 'editorupload');  CKEDITOR.config.lineheight_sizes = CKEDITOR.config.lineheight_sizes +  '30px';   config.height = 650;  config.toolbarCanCollapse = true;  config.uiColor = '#90B8E9';  config.toolbar = 'Full';  config.toolbar_Full = [   { name: 'document',  items: [ 'Source','-','Save','NewPage','DocProps','Preview','Print','-','Templates' ] },   { name: 'clipboard',  items: [ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ] },   { name: 'links',    items:['Link','Unlink']},   { name: 'insert',   items:['HorizontalRule','Table','Image'] },   '/',   { name: 'basicstyles', items: [ 'Bold','Underline','Strike','Subscript','Superscript','-','RemoveFormat'] },   { name: 'paragraph',  items: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] },   { name: 'styles',items: ['lineheight','Format','Font','FontSize']},   { name: 'colors',items: ['TextColor', 'BGColor']},   { name: 'tools', items : [ 'Maximize','editorupload'] }];

登录后复制

将editorupload插件加入到ckeditor中。
以下是实现的部分截图:

ckeditor自定义插件使用方法解析

ckeditor自定义插件使用方法解析

实现总结:在自定义插件过程中,必须把原插件的图片插入的功能给打开,负责上传的图片不会被放入到ckeditor中,图片地址会被自动的过滤掉。这可能是ckeditor版本的bug导致。有解决方案的欢迎指导。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【创想鸟】。

相关推荐:

django教你如何轻松使用富文本编辑器CKEditor

django教你熟练掌握富文本编辑器CKEditor的方法

Python的Flask框架中集成CKeditor富文本编辑器

以上就是ckeditor自定义插件使用方法解析的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2785015.html

(0)
上一篇 2025年3月8日 17:18:28
下一篇 2025年3月7日 17:00:12

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 移动端插件IScroll.js应该如何使用

    我们知道,iscroll.js插件是兼容所有移动端滚动条事件的插件,在一些安卓机中,我们没法通过overflo:scroll操作滚动条;但iscroll.js确可以放在安全的容器元素中处理滚动,下面就给大家详细介绍一下iscroll.js。…

    编程技术 2025年3月8日
    200
  • js中字符串使用方法分享

    本文主要和大家分享js中字符串使用方法,文中运用了多个例子,希望能帮助到大家。 1.提取字符串substring() substring() 方法用于提取字符串中介于两个指定下标之间的字符。 语法 stringObject.substrin…

    编程技术 2025年3月8日
    200
  • clipboard.js基本使用方法分享

    clipboard.js 是一个不需要flash,将文本复制到剪贴板的插件。本文主要和大家介绍clipboard.js基本使用方法,希望能帮助到大家。 1 引入插件 登录后复制 2基本使用 首先需要您需要通过传递DOM选择器,HTML元素或…

    编程技术 2025年3月8日
    200
  • 怎样利用插件工具将ES6的代码转化成ES5

    这次给大家带来怎样利用插件工具将es6的代码转化成es5,利用插件工具将es6的代码转化成es5的注意事项有哪些,下面就是实战案例,一起来看一下。 ES6转化为ES5的工具有很多,下面介绍babel来转化ES6代码; 在npm环境下:cd …

    2025年3月8日
    200
  • Element UI的自定义表单验证插件的使用

    这次给大家带来element ui的自定义表单验证插件的使用,使用element ui的自定义表单验证插件注意事项有哪些,下面就是实战案例,一起来看一下。 插件主要代码: //vdt.jsconst VDT = {        messa…

    编程技术 2025年3月8日
    200
  • Vue.js的插件

    这次给大家带来vue.js的插件,使用vue.js的插件的注意事项有哪些,下面就是实战案例,一起来看一下。 导入插件(以vue-router为例)执行命令:npm install vue-router –save 如果某个插件需…

    2025年3月8日
    200
  • js中的sort()使用方法

    如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。 array.sort()方法默认是升序排序,如果想按照…

    编程技术 2025年3月8日
    200
  • js中slice()使用方法

    本文主要和大家分享js中slice()使用方法,slice()通过索引位置获取新的数组,该方法不会修改原数组,只是返回一个新的子数组。 用法:arrayobj.slice(start,end) arrayObj – 原始数组; …

    编程技术 2025年3月8日
    200
  • 如何使用jquery的分页插件

    这次给大家带来如何使用jquery的分页插件,如何使用jquery的分页插件的注意事项有哪些,下面就是实战案例,一起来看一下。 jqpaginator简洁、高度自定义的jquery分页组件,适用于多种应用场景。 简介 现在网上各种各样的分页…

    2025年3月8日
    200
  • 好用的js插件分享

    从一些开源网站上下载下来的 后台管理系统模板一般会有很多的js ,其js 的功能是什么呢?这里随手查询了一下,记录下来,希望本文能帮助到大家。 正文: 1.zDialog.js 各种弹窗插件 详细案例:http://www.2ky.cn/P…

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论