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

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

ckeditor自定义插件--一键给所有的图片添加链接的更多相关文章

  1. jQuery为图片添加链接(创建新的元素来包裹选中的元素)

    主要用到 wrap()函数 http://www.w3school.com.cn/jquery/manipulation_wrap.asp 这个函数是创建新的的元素去包裹所执行这个方法的元素 如下例子 ...

  2. kindeditor自定义插件插入视频代码

    kindeditor自定义插件插入视频代码 1.添加插件js 目录:/kindeditor/plugins/diy_video/diy_video.js KindEditor.plugin('diy_ ...

  3. CKEditor在线编辑器增加一个自定义插件

    CKEditor是一个非常优秀的在线编辑器,它的前身就是FCKEditor,CKEditor据官方说是重写了内核的,但功能和性能比FCKEditor更为强大和优越.记得07年的时候第一次接触FCKEd ...

  4. AdPlayBanner:功能丰富、一键式使用的图片轮播插件

    AdPlayBanner:功能丰富.一键式使用的图片轮播插件 AdPlayBanner是一个Android平台基于ViewPager实现的轮播图插件,主要用以自动或者手动地播放轮播图,提供了Fresc ...

  5. easyui+webuploader+ckeditor实现插件式多图片上传-添加图片权限(图片上传人是谁,只能看到自己的图片)

    需求: 实现过程及思路 1.先页面布局 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=" ...

  6. easyui+webuploader+ckeditor实现插件式多图片上传

    需求:在ckeditor编辑器上实现多图片上传并要求另外单独选择ckeditor上传的图片作为封面 页面效果说明: 动态效果图: 第一步:页面布局 <html xmlns="http: ...

  7. jQuery基础(常用插件 表单验证,图片放大镜,自定义对象级,jQuery UI,面板折叠)

    1.表单验证插件——validate   该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:   $(form).validate({o ...

  8. 你的专属定制——JQuery自定义插件

        前  言 絮叨絮叨 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗 ...

  9. jQuery自定义插件--banner图滚动

    前言 jQuery是一个功能强大的库,提供了开发JavaScript项目所需的所有核心函数.很多时候我们使用jQuery的原因就是因为其使用插件的功能,然而,有时候我们还是需要使用自定义代码来扩展这些 ...

随机推荐

  1. python-布尔表达式

    1.布尔类型(bool): 1.只有两种情况  真/假 (True /  False) 2. print(type(False))      # <class 'bool'> type() ...

  2. rpm包与 yum 安装与卸载

    rpm包的安装:      1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安 ...

  3. C#发送内置图片的html格式邮件的代码

    将写内容过程经常用的内容段备份一次,下面的内容是关于C#发送内置图片的html格式邮件的内容,应该对码农们也有用处.MailMessage m = new MailMessage();m.Subjec ...

  4. postgresql 自定义聚合函数

    方法1 CREATE OR REPLACE FUNCTION public.sfun_test1( results numeric[], val numeric) RETURNS numeric[] ...

  5. hive的常见判断与抽样函数

    .If函数:if和case差不多,都是处理单个列的查询结果 语法: if(boolean testCondition, T valueTrue, T valueFalseOrNull) 返回值: T ...

  6. react-native 导航器 react-navigation 3.x 使用

    React-navigation 介绍 React Navigation 源于 React Native 社区对一个可扩展且易于使用的导航解决方案的需求,它完全使用 JavaScript 编写. (如 ...

  7. 继承 派生 super()经典类 新式类

    '''1什么是继承? 继承一种新建类的方式,在python中支持一个儿子继承多个爹 新建的类称为子类的或者派生类 父类有可以称为基类或者超类 子类会‘遗传’父类的属性 2 为什么要用继承 减少代码冗余 ...

  8. ps top 命令

    pstree :显示进程树 ps: a:查看和终端有关的进程 u:显示进程是哪个用户启动的 x:和终端无关 ps aux |head 进程的分类: 和终端有关 和终端无关 进程状态: D:不可中断睡眠 ...

  9. Android中粗字体

    前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页面里面有普通字体.中粗字体.加粗字体.对于IOS的小伙伴,分分钟搞定,但是对于Android开发的我,瞬间懵逼了.WTF! 安卓只有粗和不 ...

  10. Java基础学习-计算机存储单元和数据类型概述

    变量是内存中的小容器,用来存储数据.那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写字母b表示.而计算机最小的存 ...