百度编辑器二次开发常用手记整理小结
发布时间:2023-10-22 20:28:33
标签:百度编辑器,二次开发
创建自定义编辑器:
//引入editor_config.js,editor_api.js,ueditor.css文件,然后在body中创建编辑器实例与父容器
<div id="myEditor"></div>
<script type="text/javascript">
var editorOption = {
toolbars:[['FullScreen', 'Source', 'Undo', 'Redo','Bold']],
autoClearinitialContent:true,
wordCount:false,
};
var editor_a = new baidu.editor.ui.Editor(editorOption);
editor_a.render( 'myEditor' );
</script>
配置弹出工具按钮:
//editor_config.js editorui.js文件中找到toolbars labelMap iframeUrlMap btnCmds dialogBtns 五个参数进行配置
//toolbars:工具或下拉框参数,
//labelMap:工具按钮提示信息
//iframeUrlMap:弹出插件URL路径
//btnCmds:工具按钮统一触发命令
//dialogBtns:弹出命令
//注册插件 []传入的是toolbars中的参数
UE.plugins[] = function(){
....
execCommand:function(cmdName,myobject){
....
}
}
配置命令工具按钮:
//editor_config.js editorui.js文件中找到toolbars labelMap btnCmds
//注册命令工具按钮 []传入的是toolbars中的参数
UE.commands[] = function(){
.....
execCommand:function(){
.....
}
}
右键按钮配置:
//editor_config.js contextmenu.js文件中找到toolbars labelMap items三个参数进行配置
//命令右键配置
items:
{
label:"", [右键名字]
cmdName:"",[toolbars参数中所配置的名字]
exec:function(){
this.execCommand("");[toolbars参数中所配置的名字]
}
}
//注册右键按钮命令
UE.commands[] = function(){
execCommand:function(){
.......
}
}
注:注册右键按钮命令[]中依然是toolbars参数中所配置的名字
//插件右键配置[]传入的参数是toolbars中的参数
items:
{
label:"",
cmdName:"",
exec:function(){
if(UE.ui[]){
new UE.ui[](this);
}
this.ui._dialogs['...Dialog'].open();
}
}
//注册右键插件 []传入的参数是toolbars中的参数
UE.plugins[] = function(){
....
execCommand:function(cmdName,myobject){
....
}
}
插件命令配置:
UE.plugins[] = function(){
var me = this;
//注册鼠标和键盘事件
me.addListener('mousedown',_mouseDownEvent);
me.addListener('keydown',function(type,evt){...});
me.addListener('mouseup',function(){});
//查询当前命令状态
queryCommandState:function(cmdName){}
//命令执行主体
exeCommand:function(cmdName,myobject){}
//获取命令执行结果
queryCommandValue:function(cmdName){}
}
插件弹出执行注册:
dialog.onok = function(){
editor.execCommand("",""); //两个参数,功能参数,我们自己需要传入的值
dialog.close();
}
一些操作类,实用:
//editor.selection.getRange() 查询范围方法
//editor类,此类用于初始化的一些设置,比如获取内容,设置高宽,设置编辑器内容等等。
//domUtils类,此类用于不同帧内dom节点的操作,比如获取父节点,节点属性,文本内容等等。
//browser类,此类用于检测游览器,比如判断IE火狐等。
//EventBase类,此类用基础事件的注册类,比如鼠标,键盘事件等。
//ajax类,此类用于ajax工具类。
//暂时在工作里只用到了上述,代码的组织结构,都还木有研究。
如何给百度编辑器editor扩展
百度编辑器的editor对象中,是百度编辑器所有方法对象,在扩展时,只需要在首页实例中,添加方法。editor.xx = {}。
在任何的页面中editor对象,都可以点出我们在首页中定义的扩展方法。
0
投稿
猜你喜欢
- 目的:基于办公与互联网隔离,自带的office软件没有带本地帮助工具,因此在写vba程序时比较不方便(后来发现07有自带,心中吐血,瞎折腾些
- 程序介绍本程序利用1.密码必须由数字、字母及特殊字符三种组合2.密码只能由字母开头3.密码长度不能低于16位来判断密码程度。首先,把可输入的
- 起步Pandas最初被作为金融数据分析工具而开发出来,因此 pandas 为时间序列分析提供了很好的支持。 Pandas 的名称来自于面板数
- Log包Go语言提供的默认日志包:https://golang.org/pkg/log/基本用法log包定义了Logger类型,该类型提供了
- 我目标文件夹下有一大批图片,我要把它转变为指定尺寸大小的图片,用pthon和opencv实现的。以上为原图片。import cv2impor
- 一、引言Server端的脚本运行环境,它简单易用,不需要编译和连接,脚本可以在 Server端直接运行,并且它支持多用户、多线程,因为 AS
- 在将string类型的数据类型转换为spark rdd时,一直报这个错,StructType can not accept object %
- 启发式评估法(Heuristic Evaluation)是一种用来发现用户界面设计中的可用性问题从而使这些问题作为再设计过程中的一部分被重视
- 第一种方法:采用git命令操作1、例如仓库中有下面的代码(版本1)2、现在继续编写代码,并且提交到远程仓库中(版本2)3、回退到版本1中gi
- 在实际处理数据时,因系统内存有限,我们不可能一次把所有数据都导出进行操作,所以需要批量导出依次操作。为了加快运行,我们会采用多线程的方法进行
- 一、利用webbrowser.open()打开一个网站:>>> import webbrowser >>>
- 日常会有很多固定报表需要手动更新,本文将利用python实现多线程运行oracle代码,并利用xlwings包和numpy包将结果写入到指定
- reload() 简介作用:用于重新载入之前载入的模块语法格式:reload(module)参数:module为模块对象,必须已经被加载返回
- 目录1. jieba 分词2. pkuseg 分词3. FoolNLTK 分词4. THULAC大家好,我是安果!分词在自然语言处理中有着常
- Perceptron是用于二进制分类任务的线性机器学习算法。它可以被认为是人工神经网络的第一种和最简单的类型之一。绝对不是“深度”学习,而是
- 已解决卸载pip重新安装的方法问题需求粉丝群里面的一个小伙伴遇到问题跑来私信我,想用卸载pip重新安装pip,但是发生了报错(当时他心里瞬间
- 1. 把数字转换成字符串,应用"" + 1,虽然看起来比较丑一点,但事实上这个效率是最高的,性能上来说:("&
- redis模块的使用1.安装模块pip3 install redis2.导入模块import redis3.连接方式严格连接模式:r=red
- 本文实例讲述了PHP的HTTP客户端Guzzle简单使用方法。分享给大家供大家参考,具体如下:首先来一段官方文档对Guzzle的介绍:然后c
- Silverlight也算一个比较开放的技术。Button控件其实也是一些标准的Grid、Canvas、Rectangle、TextBloc