ckeditor插件开发简单实例
具体步骤:在CKeditor中开发自定义插件,先创建插件文件夹并放置图标,然后编写plugin.js实现选中文字后自动插入一个带超链接的图标,最后修改config.js加载插件并配置工具栏按钮,即可在编辑器中使用该插件。
说起CKeditor,其实就是原来的FCKeditor,人家新版本连名字都改了,直接去掉了那个“F”。
需求很明确:在编辑文本时,选中一段文字,然后点击自定义按钮,就能在文字后面自动插入一个带超链接的图标,并且链接地址要以选中的文字作为参数。
实现起来也不复杂,下面直接说步骤。
第一步:创建插件文件夹
在CKeditor的plugins目录下,新建一个文件夹,名字自己定,我这里用的是“addmap”,项目里一直这么叫。
第二步:准备图标素材
把一张用作按钮图标的小图片放进去,比如叫“map.gif”。注意,这个图标是显示在编辑器工具栏上的,不是正文里插入的那个。
第三步:编写插件核心代码
在“addmap”文件夹里新建一个plugin.js,关键代码是这样的:
(function() {
// 按下自定义按钮时执行的逻辑
var a = {
exec: function(editor) {
var data="";
var mySelection = editor.getSelection();
if (CKEDITOR.env.ie) {
mySelection.unlock(true);
data = mySelection.getNative().createRange().text;
} else {
data = mySelection.getNative();
}
if(data!=null&&data!=''){
editor.insertHtml(data+'
');
}
}
},
b = 'addmap';
CKEDITOR.plugins.add(b, {
init: function(editor) {
editor.addCommand(b, a);
editor.ui.addButton('addmap', {
label: 'add map link',
icon: this.path + 'map.gif',
command: b
});
}
});
})();
逻辑其实不复杂:先获取当前选中的文本,然后直接在这个文本后面拼接一个带超链接的图片代码。注意,这里插入的图片是“/images/map_icon.gif”,而工具栏上的图标用的是“map.gif”,两个文件不一样,别搞混了。
第四步:配置编辑器,加载插件
回到CKeditor的根目录,修改config.js,把自定义按钮加到工具栏里,并声明额外的插件:
CKEDITOR.editorConfig = function( config )
{
config.language = 'zh-cn';
config.font_names = '宋体;楷体_GB2312;新宋体;黑体;隶书;幼圆;微软雅黑;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana;';
config.toolbar=
[
['Source','-','Preview'],
['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','Link','Unlink','Anchor'],
['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
['addmap']
];
config.extraPlugins = 'addmap';
};
这里把“addmap”按钮放在了工具栏的最后一组,同时通过extraPlugins告诉编辑器要加载这个自定义插件。
第五步:测试
刷新页面,打开编辑器,选中一段文字,点击工具栏上那个新加的图标按钮,文字后面就会自动插入一个小地图图标,并且链接地址里已经带上了你选中的文字参数。运行正常,收工。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。
CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。
Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。
CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。
Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。



























