1.放在多文件中

第一步:config.js中

config.extraPlugins = '插件名称';//注册插件,extraPlugins只允许出现一次,你如果之前有新增别的插件,那么用逗号分隔

第二步:plugins文件夹下新建:插件名称 文件夹

第三步:
1:在plugins/插件名称/下新建plugin.js;
2:在plugins/插件名称/下新建 dialogs文件夹,并在其内新建 "插件名称.js"

(function() {
CKEDITOR.plugins.add("插件名称", {
requires: ["dialog"],
init: function(a) {
a.addCommand("插件名称", new CKEDITOR.dialogCommand("插件名称"));
a.ui.addButton("插件名称", {
label: "插件名称",//调用dialog时显示的名称
command: "插件名称",
icon: this.path + "g.ico"//在toolbar中的图标 });
CKEDITOR.dialog.add("插件名称", this.path + "dialogs/插件名称.js") } }) })();

第四步:/plugins/插件名称/dialogs/插件名称.js 内容如下:

(function() {
CKEDITOR.dialog.add("插件名称",
function(a) {
return {
title: "插件名称",
minWidth: "500px",
minHeight:"500px",
contents: [{
id: "tab1",
label: "",
title: "",
expand: true,
width: "500px",
height: "500px",
padding: 0,
elements: [{
type: "html",
style: "width:500px;height:500px",
html: '内容测试'
}]
}],
onOk: function() {
//点击确定按钮后的操作
//a.insertHtml("编辑器追加内容");
}
}
})
})();

2、放在单个plugin.js中

第一步:config.js中

config.extraPlugins = 'clearempty';//注册插件,extraPlugins只允许出现一次,你如果之前有新增别的插件,那么用逗号分隔

第二步:plugins文件夹下新建:clearempty 文件夹
第三步:在plugins/clearempty/下新建plugin.js;内容如下:

(function() {
CKEDITOR.plugins.add('clearempty', {
requires: ['styles', 'button'],
init: function(a) {
a.addCommand('clearempty', CKEDITOR.plugins.clearempty.commands.clearempty);
a.ui.addButton('clearempty', {
label: "清除空行",
command: 'clearempty',
icon: this.path + "g.ico"//这个g.ico是你的插件图标,放在同目录下
});
}
});
CKEDITOR.plugins.clearempty = {
commands: {
clearempty: {
exec: function(a) {
var _html = a.getData();
//在这里执行你将_html中的空行替换掉的操作
a.setData(_html);
}
}
}
};
})();

以上内容来自:http://blog.csdn.net/qbg19881206/article/details/14224785

 

CKeditor插件开发流程(一)的更多相关文章

  1. CKeditor插件开发流程(二)SyntaxHighlighter

    CKEditor整合SyntaxHighlighter实现代码高亮显示 1,版本说明 CKEditor:ckeditor_4.0.1_standard.zipSyntaxHighlighter:syn ...

  2. CKEditor插件开发

    以前做过一个教育项目,是有关在线考试的.其中对编辑器CKEditor做了扩充,增加了插入客观题.主观题.选择题和判断题的功能.这里记述下CKEditor插件开发的过程. CKEditor以前叫FCKE ...

  3. wordpress插件开发流程梳理

    1.声明一个插件 首先我们必须明白,wordpress的插件可以是单文件,也可以是多文件,css/html都不是必须的,以下举例暂且在单文件模式下 比如我们要创建一个名为 hellophp的插件,那我 ...

  4. jira的插件开发流程实践

    怎么开头呢,由于自己比较懒,博客一直不怎么弄,以后克己一点,多传点自己遇到的问题和经历上来,供自己以后记忆,也供需要的小伙伴少走点弯路吧 最近公司项目需要竞标一个运维项目,甲方给予了既定的几种比较常用 ...

  5. PhoneGap插件开发流程

    前几天写了一个PhoneGap插件,这个插件的功能很简单,就是开启viewport设置.不过与其它插件相比,有好几个有意思的地方,仔细读了PhoneGap的源码才搞定.这里记录一下PhoneGap插件 ...

  6. CkEditor 插件开发

    CKEditor的插件开发其实很简单只需要两步.1.通过CKEditor.plugins.add()方法编写插件的逻辑主体, 2.告诉CKEditor我们有一个自定义插件需要添加进来. //创建插件逻 ...

  7. 老司机带你解读jQuery插件开发流程

    jquery插件开发模式 jquery插件一般有三种开发方式: 通过$.extend()来扩展jQuery 通过$.fn 向jQuery添加新的方法 通过$.widget()应用jQuery UI的部 ...

  8. wordpress插件开发流程梳理-二

    开发插件的最佳实践 避免命名冲突 当您的插件对变量,函数或类使用相同的名称作为另一个插件时,会发生命名冲突. 幸运的是,您可以使用以下方法避免命名冲突. 程序性 默认情况下,所有变量,函数和类都在全局 ...

  9. cordova自定义插件开发流程

    cordova自定义插件开发:1.cordova安装:npm install -g cordova2.plugman安装:npm install -g plugman3.cordova创建工程:cor ...

随机推荐

  1. CentOS6.8 SVN服务器管理多项目

    一 需求 一般来说,公司有多个项目,在搭建好SVN服务器之后,就需要使用SVN来实现不在一个项目中的开发人员不能访问其它项目中的代码. 假设: 有3个项目:project1.project2.proj ...

  2. stage3D基础五-----Working with 3D cameras(转)

    原文地址:http://www.adobe.com/cn/devnet/flashplayer/articles/3d-cameras.html 原文是英文的,这里就不贴了,内容主要介绍直接使用相机坐 ...

  3. swift - 全屏pop手势

    UINavigationController系统自带有侧滑手势,但是这个手势第一点只能边缘侧滑才可以有效,第二点当手动隐藏系统的导航时,这个手势就不能生效了 为了能到达到全屏pop的效果这里有2中解决 ...

  4. 大师养成计划之二:hibernate框架的使用------实例演示

    搭建hibernate项目框架的步骤: 一.导入jar包 二.new    .cfg.xml配置文件 <?xml version="1.0" encoding="U ...

  5. AjaxPro.2.dll AjaxPro.AjaxMethod 前后台交互

    我们需要下载 AjaxPro.2.zip.然后把下载到的 AjaxPro.2.dll 的文件引入到项目. 1.接着,在 Web.config 的 <system.web> 标签下写入以下内 ...

  6. Java集合系列之TreeMap源代码分析

    一.概述 TreeMap是基于红黑树实现的.因为TreeMap实现了java.util.sortMap接口,集合中的映射关系是具有一定顺序的,该映射依据其键的自然顺序进行排序或者依据创建映射时提供的C ...

  7. 【SQLServer2008】之Win10 安装 SQL Server 2008

    查看安装步骤链接: http://jingyan.baidu.com/article/1709ad8092be974634c4f0e7.html

  8. java学习笔记之String.Split方法

    hello 大家好,好久不见,今天 我们要讨论的是java的split方法,或许你很早就知道了,但你真的知道吗? 我们来看看吧. 首先我们来看看我们最常用的split()方法也就是单个参数的方法 pu ...

  9. BlockingQueue的使用 http://www.cnblogs.com/liuling/p/2013-8-20-01.html

    BlockingQueue的使用 本例介绍一个特殊的队列:BlockingQueue,如果BlockQueue 是空的,从BlockingQueue取东西的操作将会被阻断进入等待状态,直到Blocki ...

  10. Python爬上不得姐 并将段子写入数据库

    #Python2.7 可以优化一下 前10页 每页点赞最多的段子 百思不得姐 # -*- coding: utf-8 -*-import MySQLdbimport urllib,urllib2imp ...