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. 克服"水土不服",融云助攻小象直播杀破"出海重围"

    2016年是直播行业被资本疯狂追逐的一年,可至今却经历着“浪潮”褪去,洗刷的不止是中小型直播平台,就连熊猫TV等有资本加持的大平台都纷纷遭遇倒闭危机.然而,直播行业作为泛娱乐的模式之一,其实本身“未死 ...

  2. 外网访问内网MariaDB数据库

    外网访问本地MariaDB数据库 本地安装了MariaDB数据库,只能在局域网内访问,怎样从公网也能访问内网MariaDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Mar ...

  3. 安装redis报错 you need tcl 8.5 or newer in order to run redis test

    解决方法: wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz tar -zxvf tcl8.6.1-src.tar.gz -C ...

  4. jmeter完成md5加密的接口请求参数

    第一种方法: 这种方法比较简单,jmeter内置了一个md5的函数,可以直接使用.其中参数username是用户名,正常填写,password是密码经过md5加密 第二种方法: 需要有一定的编程技术, ...

  5. Java8过滤器(Filter)

    1.在Java之前对List进行过滤的方式 public class BeforeJava8 { public static void main(String[] args) { List<Pe ...

  6. 58 字体反爬攻略 python3

    1.下载安装包 pip install fontTools 2.下载查看工具FontCreator 百度后一路傻瓜式安装即可 3.反爬虫机制 网页上看见的 后台源代码里面的 从上面可以看出,生这个字变 ...

  7. MySQL表结构更新规范

    以下以新增字段为例,修改.删除.新增表的操作类似: 步骤: 1.PDM(中文名称为产品数据管理(Product Data Management))增加字段,并注明新增字段的注释 2.数据库编写sql语 ...

  8. Navicat Premium 12

    1.win 客户端软件下载: https://www.navicat.com.cn/download/navicat-premium 2.安装 双击安装--点击下一步 我同意--下一步 选择安装路径- ...

  9. Intellij IDEA 远程链接hive,执行hsql

    https://note.youdao.com/share/?id=75d82d9c5fab1e00de41c504a54dfcde&type=note#/

  10. parquet列式文件实战(未完,待续)

    parquet列式文件实战 parquet code demo http://www.programcreek.com/java-api-examples/index.php?source_dir=h ...