实战-Ueditor扩展二次开发

第一部分 开发前期准备

1、UEditor从1.4.1开始,添加对于二次开发的扩展支持。
Jeewx扩展二次开发采用1.4.3.1 Jsp 版本

2、上传图片设置
简述: UE做的不够灵活,不如老版本

[1]配置文件:ueditor/jsp/config.json
说明: 所有项目配置访问前缀

[2]引入UE依赖的JAR包
特殊说明:UE自带的ueditor-1.1.2.jar有问题,经过修改源码好用。

第二部分 扩展增加按钮DEMO


[1] customizeToolbarUIDemo.html页面
<!DOCTYPE HTML>
<html>
<head>
<title>完整demo</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<!--UEditor-->
<script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="../ueditor.all.min.js"> </script>
<script type="text/javascript" charset="utf-8" src="../lang/zh-cn/zh-cn.js"></script>
<!--添加按钮-->
<script type="text/javascript" charset="utf-8" src="addCustomizeButton.js"></script>
<style type="text/css">
.clear {
clear: both;
}
div{
width:100%;
}
</style>
</head>
<body>
<div>
<h1>二次开发demo</h1>
<script id="editor" type="text/plain" style="width:1024px;height:500px;"></script>
</div>
</body>
<script type="text/javascript">
//实例化编辑器
UE.getEditor('editor');
</script>
</html>
[2] addCustomizeButton.js页面
UE.registerUI('微信模板', function(editor, uiName) {
//注册按钮执行时的command命令,使用命令默认就会带有回退操作
editor.registerCommand(uiName, {
execCommand: function() {
alert('execCommand:' + uiName)
}
});
//创建一个button
var btn = new UE.ui.Button({
//按钮的名字
name: uiName,
//提示
title: uiName,
//添加额外样式,指定icon图标,这里默认使用一个重复的icon
cssRules: 'background-position: -500px 0;',
//点击时执行的命令
onclick: function() {
//这里可以不用执行命令,做你自己的操作也可
editor.execCommand(uiName);
}
});
//当点到编辑内容上时,按钮要做的状态反射
editor.addListener('selectionchange', function() {
var state = editor.queryCommandState(uiName);
if (state == -1) {
btn.setDisabled(true);
btn.setChecked(false);
} else {
btn.setDisabled(false);
btn.setChecked(state);
}
});
//因为你是添加button,所以需要返回这个button
return btn;
});

第三部分 微信编辑扩展我的素材插件


[1]修改JSP页面,引入插件JS
weixin/guanjia/newstemplate/weixinArticle-update.jsp


[2]插件JS源码
UE.plugins['weixin_template'] = function () {
var me = this,thePlugins = 'weixin_template';
me.commands[thePlugins] = {
execCommand:function (cmd,uiName) {
var pos='WXNRQ';
if(uiName=='内容区'){
pos ='WXNRQ';//此处编码要对应weixin数据字典项
}if(uiName=='关注引导'){
pos ='WXGZYD';
}else if(uiName=='标题'){
pos ='WXBT';
}else if(uiName=='原文引导'){
pos ='WXYWYD';
}else if(uiName=='分隔线'){
pos ='WXFGX';
}else if(uiName=='互推账号'){
pos ='WXHTZH';
}else if(uiName=='我的样式'){
pos ='WXWDYS';
}else if(uiName=='其他'){
pos ='WXQT';
}
var dialog = new UE.ui.Dialog({
iframeUrl:this.options.UEDITOR_HOME_URL + '/demo/weixin.html?type='+pos,
name:thePlugins,
editor:this,
title: '微信图文模板',
cssRules:"width:740px;height:430px;",
buttons:[
{
className:'edui-okbutton',
label:'确定',
onclick:function () {
dialog.close(true);
}
}]
});
dialog.render();
dialog.open();
}
};
};

function weixinButton(editor,uiName){
//注册按钮执行时的command命令,使用命令默认就会带有回退操作
editor.registerCommand(uiName,{
execCommand:function(){
try {
editor.execCommand('weixin_template',uiName);
} catch ( e ) {
alert('打开模板异常'+e);
}
}
});
//创建一个button
var btn = new UE.ui.Button({
//按钮的名字
name:uiName,
//提示
title:uiName,
//需要添加的额外样式,指定icon图标,这里默认使用一个重复的icon
cssRules :'background-position:-902px -45px;width: 63px!important;',
//点击时执行的命令
onclick:function () {
//这里可以不用执行命令,做你自己的操作也可
editor.execCommand(uiName);
}
});
//因为你是添加button,所以需要返回这个button
return btn;
}
UE.registerUI('微信图文模
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值