ueditor添加新模块

添加一个名叫“hougelou”的普通按钮

附言:以下是以UEditor .Net版本举例说明。

第一步:找到ueditor.config.js文件中的toolbars数组,增加一个“hougelou”字符串,然后找到labelMap数组,对应着添加一个labelMap,用于鼠标移上按钮时的提示。

//工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的从新定义
        , toolbars:[
            [‘fullscreen‘, ‘source‘, ‘|‘, ‘undo‘, ‘redo‘, ‘|‘,
                ‘bold‘, ‘italic‘, ‘underline‘, ‘fontborder‘, ‘strikethrough‘, ‘superscript‘, ‘subscript‘, ‘removeformat‘, ‘formatmatch‘, ‘hougelou‘, ‘autotypeset‘, ‘blockquote‘, ‘pasteplain‘, ‘|‘, ‘forecolor‘, ‘backcolor‘, ‘insertorderedlist‘, ‘insertunorderedlist‘, ‘selectall‘, ‘cleardoc‘, ‘|‘,
                ‘rowspacingtop‘, ‘rowspacingbottom‘, ‘lineheight‘, ‘|‘,
                ‘customstyle‘, ‘paragraph‘, ‘fontfamily‘, ‘fontsize‘, ‘|‘,
                ‘directionalityltr‘, ‘directionalityrtl‘, ‘indent‘, ‘|‘,
                ‘justifyleft‘, ‘justifycenter‘, ‘justifyright‘, ‘justifyjustify‘, ‘|‘, ‘touppercase‘, ‘tolowercase‘, ‘|‘,
                ‘link‘, ‘unlink‘, ‘anchor‘, ‘|‘, ‘imagenone‘, ‘imageleft‘, ‘imageright‘, ‘imagecenter‘, ‘|‘,
                ‘insertimage‘, ‘emotion‘, ‘scrawl‘, ‘insertvideo‘, ‘music‘, ‘attachment‘, ‘map‘, ‘gmap‘, ‘insertframe‘,‘insertcode‘, ‘webapp‘, ‘pagebreak‘, ‘template‘, ‘background‘, ‘|‘,
                ‘horizontal‘, ‘date‘, ‘time‘, ‘spechars‘, ‘snapscreen‘, ‘wordimage‘, ‘|‘,
                ‘inserttable‘, ‘deletetable‘, ‘insertparagraphbeforetable‘, ‘insertrow‘, ‘deleterow‘, ‘insertcol‘, ‘deletecol‘, ‘mergecells‘, ‘mergeright‘, ‘mergedown‘, ‘splittocells‘, ‘splittorows‘, ‘splittocols‘, ‘|‘,
                ‘print‘, ‘preview‘, ‘searchreplace‘, ‘help‘]
        ]
        //当鼠标放在工具栏上时显示的tooltip提示,留空支持自动多语言配置,否则以配置值为准
        ,labelMap:{
        ‘hougelou‘: ‘hello,后阁楼‘
        }

第二步:找到你所引用的ueditor.all.js文件中的btnCmds数组,在其中同样增加一个“hougelou”字符串。

第三步:清空缓存刷新下页面吧!工具栏的对应位置是否出现了一个自己定义的按钮呢?如下图所示:

由于此时未设置对应按钮的图片样式,所以会显示默认的“B”字符。要想让其显示成自己需要的图标样式,接着按照下面的步骤动手吧。

第四步:找到themes/default/css/ueditor.css文件,增加一条样式定义:

.edui-for-hougelou .edui-icon {
    background-position: -700px -40px;
}

此处的样式定义了showmsg图标在UEditor默认的精灵Icon图片(themes/default/images/icons.png)中的位置偏移。如需更改成另外图标,只需添加图标到该图片文件中,然后设置偏移值即可。

第五步:到此为止,在UI层面已经完成了一个工具栏图标的显示和各种状态变化的逻辑,但是我们发现点击按钮之后毫无反应。那是必然的,我们还必须为该按钮绑定属于它自己的事件处理方法。

实质上,此时一个默认的事件处理方法已经被UEditor绑定到按钮上了,只不过由于我们还没有定义该方法的具体内容,所以点击之后无任何变化。

下面我们就来定义该方法的具体内容:

在初始化编辑器的时候,加上自己的事件处理(插入一张图片),如下代码:

ueditor = UE.getEditor(‘txtContent‘, {
            "initialFrameHeight": "200",
            toolbars: [[‘fullscreen‘, ‘source‘, ‘hougelou‘, ‘bold‘, ‘italic‘, ‘underline‘, ‘fontborder‘, ‘strikethrough‘, ‘blockquote‘, ‘pasteplain‘, ‘|‘, ‘forecolor‘, ‘backcolor‘, ‘insertorderedlist‘, ‘insertunorderedlist‘, ‘selectall‘, ‘cleardoc‘, ‘|‘, ‘rowspacingtop‘, ‘rowspacingbottom‘, ‘lineheight‘, ‘|‘, ‘customstyle‘, ‘paragraph‘, ‘fontfamily‘, ‘fontsize‘, ‘|‘, ‘indent‘, ‘|‘, ‘justifyleft‘, ‘justifycenter‘, ‘justifyright‘, ‘justifyjustify‘, ‘|‘, ‘touppercase‘, ‘tolowercase‘, ‘|‘, ‘link‘, ‘unlink‘, ‘anchor‘, ‘|‘, ‘imagenone‘, ‘imageleft‘, ‘imageright‘, ‘imagecenter‘, ‘|‘, ‘insertimage‘, ‘emotion‘, ‘insertvideo‘, ‘music‘, ‘insertcode‘, ‘background‘, ‘|‘, ‘horizontal‘, ‘date‘, ‘time‘, ‘spechars‘, ‘|‘, ‘inserttable‘, ‘deletetable‘, ‘insertparagraphbeforetable‘, ‘insertrow‘, ‘deleterow‘, ‘insertcol‘, ‘deletecol‘, ‘mergecells‘, ‘mergeright‘, ‘mergedown‘, ‘splittocells‘, ‘splittorows‘, ‘splittocols‘, ‘|‘, ‘preview‘, ‘searchreplace‘, ‘help‘]],
            enterTag: " "
        }); //回车的时候用换行不用段落标签
        //实现插件的功能代码
        baidu.editor.commands[‘hougelou‘] = { execCommand: function() { this.execCommand(‘insertHtml‘, "<img src=‘http://www.hougelou.com/images/logo.png‘ />"); return true; }, queryCommandState: function() { } };

End

-------------------------------------------------------------------------------

在images.ashx里发现百度编辑器返回图片路径是用分隔符“ue_separate_ue”连起来的。

时间: 2024-10-09 21:14:47

ueditor添加新模块的相关文章

NGINX编译安装后添加新模块的方法

刚忙完研发又有新的需求过来,测试服务器的nginx需要有HttpUpstreamRequestHashModule和HttpStubStatusModule:擦!安装软件环境时怎么不说清楚:妹的,悲剧. 测试服务器崩溃的是不是我安装的软件,天啊.赶紧搞吧!!! 环境:centos 6.4 64位 编译安装nginx 1:查看nginx版本和安装时间带的具体参数  /usr/local/nginx/sbin/nginx  -V 2:下载相应的版本的nginx源码包[nginx-1.5.11.tar

如何给在用的nginx添加新模块?

有一个在用的nginx,以yum方法安装的,怎样在不改动配置的情况下,为它添加模块. 以添加spdy模块为例. 编译新模块 预编译 ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --pid-path=/run/nginx.pid --error-log-path=/var/log/nginx/error.log --with-http_spdy_module --wi

nginx添加新模块及第三方模块

一.编译添加新模块 1.查看以前编译安装nginx的信息    /usr/local/nginx/sbin/nginx -V 2.进入nginx源码目录           cd nginx-1.8.0 3.重新编译代码和模块 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module 4.

php中添加新模块支持

php安装额外的扩展模块php安装完成以后,如果php中缺少某个模块,这是我们也不可能重新编译php,只能通过php的模块扩展来安装缺少的功能模块使用/usr/local/php7/bin/php -m 查看php已编译的模块,也可查看未编译的模块,配合grep查看是否存在模块可以下载一个第三方的的php扩展,这里只使用php内置模块演示:进入内置模块目录(第三方需要解压后进入其目录中),在目录中执行/usr/local/php7/bin/phpize,生成./configure编译文件,如果p

如何向编译安装好的软件添加新模块

主要是解决一些烦恼,有时候编译安装好了一个软件:就不想覆盖了.方法如下 这里以nginx为例: 比如已编译安装好的nginx例为: ./configure --user=www --group=www --add-module=../ngx_cache_purge-2.0 --prefix=/usr/local/webserver/nginx --with-http_ssl_module 现在想添加nginx的status 模块,我们只要加入需要添加的模块,重新编译: ./configure -

给已经在用的nginx添加新模块

已经在用的nginx服务器,需要安装一个新的模块 首先通过-V参数查看当前编译安装的参数: linux_server01:~ # nginx -V nginx version: nginx/1.6.2 built by gcc 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux)  TLS SNI support enabled configure arguments: --prefix=/datas/nginx --user=nginx_srv

httpd添加新模块

*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hljs-comment, .hljs-template_comment, .diff .hljs-header, .hljs-javadoc { color: #998; font-style: italic; } .hljs-keyword, .css .rule .hljs-keyword, .h

nginx重新编译添加新模块

找到安装nginx的源码根目录,如果没有的话下载新的源码 http://nginx.org tar xvzf nginx-1.3.2.tar.gz 查看ngixn版本极其编译参数 /usr/local/nginx/sbin/nginx -V 进入nginx源码目录 cd nginx-1.3.2 以下是重新编译的代码和模块 ./configure --prefix=/usr/local/nginx--with-http_stub_status_module --with-http_ssl_modu

03_Nginx添加新模块

?? 1 进入nginx安装目录,查看nginx版本及其编译参数: [[email protected] nginx]# ./nginx -V nginx version: nginx/1.8.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) built with OpenSSL 1.0.1c 10 May 2012 TLS SNI support enabled configure arguments: --sbin-path=/usr