CKeditor插件开发流程(一)
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插件开发流程(一)的更多相关文章
- CKeditor插件开发流程(二)SyntaxHighlighter
CKEditor整合SyntaxHighlighter实现代码高亮显示 1,版本说明 CKEditor:ckeditor_4.0.1_standard.zipSyntaxHighlighter:syn ...
- CKEditor插件开发
以前做过一个教育项目,是有关在线考试的.其中对编辑器CKEditor做了扩充,增加了插入客观题.主观题.选择题和判断题的功能.这里记述下CKEditor插件开发的过程. CKEditor以前叫FCKE ...
- wordpress插件开发流程梳理
1.声明一个插件 首先我们必须明白,wordpress的插件可以是单文件,也可以是多文件,css/html都不是必须的,以下举例暂且在单文件模式下 比如我们要创建一个名为 hellophp的插件,那我 ...
- jira的插件开发流程实践
怎么开头呢,由于自己比较懒,博客一直不怎么弄,以后克己一点,多传点自己遇到的问题和经历上来,供自己以后记忆,也供需要的小伙伴少走点弯路吧 最近公司项目需要竞标一个运维项目,甲方给予了既定的几种比较常用 ...
- PhoneGap插件开发流程
前几天写了一个PhoneGap插件,这个插件的功能很简单,就是开启viewport设置.不过与其它插件相比,有好几个有意思的地方,仔细读了PhoneGap的源码才搞定.这里记录一下PhoneGap插件 ...
- CkEditor 插件开发
CKEditor的插件开发其实很简单只需要两步.1.通过CKEditor.plugins.add()方法编写插件的逻辑主体, 2.告诉CKEditor我们有一个自定义插件需要添加进来. //创建插件逻 ...
- 老司机带你解读jQuery插件开发流程
jquery插件开发模式 jquery插件一般有三种开发方式: 通过$.extend()来扩展jQuery 通过$.fn 向jQuery添加新的方法 通过$.widget()应用jQuery UI的部 ...
- wordpress插件开发流程梳理-二
开发插件的最佳实践 避免命名冲突 当您的插件对变量,函数或类使用相同的名称作为另一个插件时,会发生命名冲突. 幸运的是,您可以使用以下方法避免命名冲突. 程序性 默认情况下,所有变量,函数和类都在全局 ...
- cordova自定义插件开发流程
cordova自定义插件开发:1.cordova安装:npm install -g cordova2.plugman安装:npm install -g plugman3.cordova创建工程:cor ...
随机推荐
- mysql 杀掉(kill) lock进程脚本
杀掉lock进程最快的方法是重启mysql,像你这种情况,1000多sql锁住了,最好是重启如果不允许重启,我提供一个shell脚本,生成 kill id命令杀掉lock线程,如下:--------- ...
- Django--基础补充
render 函数 在Django的使用中,render函数大多与浏览器发来的GET请求一并出现,它的使用方法非常简单 例如:render(request,"xxx.html",{ ...
- Maximum sum-动态规划
A - Maximum sum Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Sub ...
- Jquery 中Ajax使用的四种情况
<script type="text/javascript" language="javascript" src="JS/jquery-1[1] ...
- sublime使用技巧(2)-- 实用插件推荐【持续更新】
1.Auto semicolon 在括号内输入分号,会自动把光标移到行尾然后再输入分号. 2.DocBlockr 补全注析格式,例如在函数上面输入/** + Enter,就会自动补全函数的注析说明. ...
- Wormholes - poj 3259 (Bellman-Ford算法)
Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 34934 Accepted: 12752 Description W ...
- 09 nginx Rewrite(重写)详细解析
一:Rewrite(重写)详细解析 rewrite 重写 重写中用到的指令 if (条件) {} 设定条件,再进行重写 set #设置变量 return #返回状态码 break #跳出rewri ...
- [转]Unity Shader 学习总结
1.先来一段单张纹理贴图的shader示例代码: // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClip ...
- EasyAR SDK在unity中的简单配置及构建一个简单场景。
首先打开EasyAR的官方网站http://www.easyar.cn/index.html,注册登陆之后,打开首页的开发页面. 下载sdk和Unity Samples. 创建一个unity3d工程N ...
- Android异步处理四:AsyncTask的实现原理
在<Android异步处理二:使用AsyncTask异步更新UI界面>一文中,我们介绍了如何使用AsyncTask实现异步下载图片,并且更新图片到UI界面的方法.本篇我们将学习Framew ...