創(chuàng)建自定義編輯器:
復(fù)制代碼 代碼如下:
//引入editor_config.js,editor_api.js,ueditor.css文件,然后在body中創(chuàng)建編輯器實(shí)例與父容器
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>
配置彈出工具按鈕:
復(fù)制代碼 代碼如下:
//editor_config.js editorui.js文件中找到toolbars labelMap iframeUrlMap btnCmds dialogBtns 五個(gè)參數(shù)進(jìn)行配置
//toolbars:工具或下拉框參數(shù),
//labelMap:工具按鈕提示信息
//iframeUrlMap:彈出插件URL路徑
//btnCmds:工具按鈕統(tǒng)一觸發(fā)命令
//dialogBtns:彈出命令
//注冊插件 []傳入的是toolbars中的參數(shù)
UE.plugins[] = function(){
....
execCommand:function(cmdName,myobject){
....
}
}
配置命令工具按鈕:
復(fù)制代碼 代碼如下:
//editor_config.js editorui.js文件中找到toolbars labelMap btnCmds
//注冊命令工具按鈕 []傳入的是toolbars中的參數(shù)
UE.commands[] = function(){
.....
execCommand:function(){
.....
}
}
右鍵按鈕配置:
復(fù)制代碼 代碼如下:
//editor_config.js contextmenu.js文件中找到toolbars labelMap items三個(gè)參數(shù)進(jìn)行配置
//命令右鍵配置
items:
{
label:"", [右鍵名字]
cmdName:"",[toolbars參數(shù)中所配置的名字]
exec:function(){
this.execCommand("");[toolbars參數(shù)中所配置的名字]
}
}
//注冊右鍵按鈕命令
UE.commands[] = function(){
execCommand:function(){
.......
}
}
注:注冊右鍵按鈕命令[]中依然是toolbars參數(shù)中所配置的名字
//插件右鍵配置[]傳入的參數(shù)是toolbars中的參數(shù)
items:
{
label:"",
cmdName:"",
exec:function(){
if(UE.ui[]){
new UE.ui[](this);
}
this.ui._dialogs['...Dialog'].open();
}
}
//注冊右鍵插件 []傳入的參數(shù)是toolbars中的參數(shù)
UE.plugins[] = function(){
....
execCommand:function(cmdName,myobject){
....
}
}
插件命令配置:
復(fù)制代碼 代碼如下:
UE.plugins[] = function(){
var me = this;
//注冊鼠標(biāo)和鍵盤事件
me.addListener('mousedown',_mouseDownEvent);
me.addListener('keydown',function(type,evt){...});
me.addListener('mouseup',function(){});
//查詢當(dāng)前命令狀態(tài)
queryCommandState:function(cmdName){}
//命令執(zhí)行主體
exeCommand:function(cmdName,myobject){}
//獲取命令執(zhí)行結(jié)果
queryCommandValue:function(cmdName){}
}
插件彈出執(zhí)行注冊:
復(fù)制代碼 代碼如下:
dialog.onok = function(){
editor.execCommand("",""); //兩個(gè)參數(shù),功能參數(shù),我們自己需要傳入的值
dialog.close();
}
一些操作類,實(shí)用:
復(fù)制代碼 代碼如下:
//editor.selection.getRange() 查詢范圍方法
//editor類,此類用于初始化的一些設(shè)置,比如獲取內(nèi)容,設(shè)置高寬,設(shè)置編輯器內(nèi)容等等。
//domUtils類,此類用于不同幀內(nèi)dom節(jié)點(diǎn)的操作,比如獲取父節(jié)點(diǎn),節(jié)點(diǎn)屬性,文本內(nèi)容等等。
//browser類,此類用于檢測游覽器,比如判斷IE火狐等。
//EventBase類,此類用基礎(chǔ)事件的注冊類,比如鼠標(biāo),鍵盤事件等。
//ajax類,此類用于ajax工具類。
//暫時(shí)在工作里只用到了上述,代碼的組織結(jié)構(gòu),都還木有研究。
如何給百度編輯器editor擴(kuò)展
百度編輯器的editor對象中,是百度編輯器所有方法對象,在擴(kuò)展時(shí),只需要在首頁實(shí)例中,添加方法。editor.xx = {}。
在任何的頁面中editor對象,都可以點(diǎn)出我們在首頁中定義的擴(kuò)展方法。
您可能感興趣的文章:- 百度編輯器 如何獲取光標(biāo)位置與不同幀內(nèi)的節(jié)點(diǎn)
- 百度編輯器從Json對象中取值,完成初次渲染,在編輯器內(nèi)畫表格