0

0

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

赶牛上岸

赶牛上岸

发布时间:2018-03-06 13:50:35

|

2863人浏览过

|

来源于php中文网

原创

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

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
      });
    }
  });
})();

Zoomify–jQuery缩放效果lightbox插件
Zoomify–jQuery缩放效果lightbox插件

Zoomify 是一款基于的简单带缩放效果的 jQuery lightbox 插件,它使用简单,出来提供基本的属性外,还提供了自动事件和自定义方法,能够满足大多数需求。

下载

在上面代码中,新建了一个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 < 1) {
            alert('请至少上传1张图片');
            return false;
          }
          for (var i in pictures) {
            var imgPath = "ckeditor自定义插件使用方法解析";
            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版本的bug导致。有解决方案的欢迎指导。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持php中文网。

    相关推荐:

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

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

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

    相关专题

    更多
    高德地图升级方法汇总
    高德地图升级方法汇总

    本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

    4

    2026.01.16

    全民K歌得高分教程大全
    全民K歌得高分教程大全

    本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

    3

    2026.01.16

    C++ 单元测试与代码质量保障
    C++ 单元测试与代码质量保障

    本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

    10

    2026.01.16

    java数据库连接教程大全
    java数据库连接教程大全

    本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

    33

    2026.01.15

    Java音频处理教程汇总
    Java音频处理教程汇总

    本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

    15

    2026.01.15

    windows查看wifi密码教程大全
    windows查看wifi密码教程大全

    本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

    42

    2026.01.15

    浏览器缓存清理方法汇总
    浏览器缓存清理方法汇总

    本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

    7

    2026.01.15

    ps图片相关教程汇总
    ps图片相关教程汇总

    本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

    9

    2026.01.15

    ppt一键生成相关合集
    ppt一键生成相关合集

    本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

    6

    2026.01.15

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    CSS3 教程
    CSS3 教程

    共18课时 | 4.6万人学习

    Django 教程
    Django 教程

    共28课时 | 3.2万人学习

    SciPy 教程
    SciPy 教程

    共10课时 | 1.1万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号