ckeditor自定义插件在网上查了查,感觉还是比较好用的,写了一个一键给编辑器中的所有图片添加链接。

  在ckeditor目录下的plugins下建以插件为名的文件夹,在里边建plugin.js文件,再建立一个dialogs文件夹,里边建一个插件名.js文件。我的插件名为alink,目录结构:

images文件夹里边放按钮图标,当然也可以不要用文字显示。

alink.js:

(function() {
CKEDITOR.dialog.add("alink",
function(a) {
return {
title: '一键添加图片链接',
minWidth: 300,
minHeight: 100,
contents: [              
{
id: 'alink',
label: 'code1',
title: 'code1',
elements: //elements是定義dialog內部的元件
[
{
id: 'alinkcontent',
type: 'text',
label: '请输入图片链接',
'default': ''
}
]
}
],
onOk: function() {
//点击确定按钮后的操作
alink = this.getValueOf('alink', 'alinkcontent');
var content=a.getData();
var Re=/(<img[^>]*>)/gi;
content=content.replace(Re,'<a href='+alink+'>$1</a>');
console.log(content)
a.setData(content)
}
}
})
})();

plugin,js:

(function() {
CKEDITOR.plugins.add("alink", {
requires: ["dialog"],
init: function(a) {
a.addCommand("alink", new CKEDITOR.dialogCommand("alink"));
a.ui.addButton("alink", {
label: "一键添加图片链接",//调用dialog时显示的名称
command: "alink",
icon: this.path + "images/alink.jpg"//在toolbar中的图标
});
CKEDITOR.dialog.add("alink", this.path + "dialogs/alink.js")
}
})
})();

之后再在ckeditor中的config.js中添加一行代码:config.extraPlugins="alink";//注册插件,之后就可以在页面看到了。当然这时如果有图片就是图片图标显示,如果没有图片就是空白,用文字(显示文字是plugin.js里边的label内容)显示需要在插入编辑器的页面上添加如下css代码:

/*批量添加链接*/
.cke_button__alink .cke_button_icon{
display:none !important;
}
.cke_button__alink .cke_button_label {
display:inline !important;
}

一键导入微信文章也是一样的做法,但这个需要后端一起实现。

最新文章

  1. 这些Javascript知识点,面试和平时开发都需要
  2. sqlserver锁表、解锁、查看销表 (转载)
  3. Centos Ping不通外网
  4. centos6.5 无线网卡配置
  5. Silverlight并行下载与串行下载
  6. Ubuntu各种软件的安装
  7. jenkins 安装 SVN Publisher 后向 svn 提交代码报错: E170001: Authentication required for...
  8. 疯狂的Django 之深度外键跨表查找之疯狂INNER JOIN
  9. openlayers4 入门开发系列之小区信号扇形图篇
  10. java面试题复习(八)
  11. bzoj 1951
  12. 初识Telerik for AJAX
  13. 截取字符串后几位用 length
  14. linux----------wdcp(是一款集成的linux环境)中的各种坑。
  15. jmeter压力测试及抓包
  16. logstash采集tomcat日志、mysql错误日志
  17. 自己编写 Oracle 分页函数
  18. EBS Certifications
  19. MySQL性能优化的20+条经验
  20. android入门 — ListView点击事件

热门文章

  1. 微信小程序将网络图片转化为base64
  2. echart的x换行
  3. 20175208 《Java程序设计》第六周学习总结
  4. C# 多笔数据导入DB
  5. 什么是HTML DOM对象
  6. 在ubuntu的bash中循环执行脚本,并在内存不足时重启
  7. MySQL单表多次查询和多表联合查询,哪个效率高?
  8. vue--动画收缩
  9. IDEA 介绍
  10. magic_quotes_gpc的作用