百度編輯器二次開發(fā)常用手記整理小結
更新時間:2012年07月03日 11:21:58 作者:
最近一直在做百度編輯器的二次開發(fā),忙乎了一段時間,今天把一些常用的資料,整理出來,供以后查詢
創(chuàng)建自定義編輯器:
//引入editor_config.js,editor_api.js,ueditor.css文件,然后在body中創(chuàng)建編輯器實例與父容器
<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 五個參數(shù)進行配置
//toolbars:工具或下拉框參數(shù),
//labelMap:工具按鈕提示信息
//iframeUrlMap:彈出插件URL路徑
//btnCmds:工具按鈕統(tǒng)一觸發(fā)命令
//dialogBtns:彈出命令
//注冊插件 []傳入的是toolbars中的參數(shù)
UE.plugins[] = function(){
....
execCommand:function(cmdName,myobject){
....
}
}
配置命令工具按鈕:
//editor_config.js editorui.js文件中找到toolbars labelMap btnCmds
//注冊命令工具按鈕 []傳入的是toolbars中的參數(shù)
UE.commands[] = function(){
.....
execCommand:function(){
.....
}
}
右鍵按鈕配置:
//editor_config.js contextmenu.js文件中找到toolbars labelMap items三個參數(shù)進行配置
//命令右鍵配置
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){
....
}
}
插件命令配置:
UE.plugins[] = function(){
var me = this;
//注冊鼠標和鍵盤事件
me.addListener('mousedown',_mouseDownEvent);
me.addListener('keydown',function(type,evt){...});
me.addListener('mouseup',function(){});
//查詢當前命令狀態(tài)
queryCommandState:function(cmdName){}
//命令執(zhí)行主體
exeCommand:function(cmdName,myobject){}
//獲取命令執(zhí)行結果
queryCommandValue:function(cmdName){}
}
插件彈出執(zhí)行注冊:
dialog.onok = function(){
editor.execCommand("",""); //兩個參數(shù),功能參數(shù),我們自己需要傳入的值
dialog.close();
}
一些操作類,實用:
//editor.selection.getRange() 查詢范圍方法
//editor類,此類用于初始化的一些設置,比如獲取內容,設置高寬,設置編輯器內容等等。
//domUtils類,此類用于不同幀內dom節(jié)點的操作,比如獲取父節(jié)點,節(jié)點屬性,文本內容等等。
//browser類,此類用于檢測游覽器,比如判斷IE火狐等。
//EventBase類,此類用基礎事件的注冊類,比如鼠標,鍵盤事件等。
//ajax類,此類用于ajax工具類。
//暫時在工作里只用到了上述,代碼的組織結構,都還木有研究。
如何給百度編輯器editor擴展
百度編輯器的editor對象中,是百度編輯器所有方法對象,在擴展時,只需要在首頁實例中,添加方法。editor.xx = {}。
在任何的頁面中editor對象,都可以點出我們在首頁中定義的擴展方法。
復制代碼 代碼如下:
//引入editor_config.js,editor_api.js,ueditor.css文件,然后在body中創(chuàng)建編輯器實例與父容器
<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 五個參數(shù)進行配置
//toolbars:工具或下拉框參數(shù),
//labelMap:工具按鈕提示信息
//iframeUrlMap:彈出插件URL路徑
//btnCmds:工具按鈕統(tǒng)一觸發(fā)命令
//dialogBtns:彈出命令
//注冊插件 []傳入的是toolbars中的參數(shù)
UE.plugins[] = function(){
....
execCommand:function(cmdName,myobject){
....
}
}
配置命令工具按鈕:
復制代碼 代碼如下:
//editor_config.js editorui.js文件中找到toolbars labelMap btnCmds
//注冊命令工具按鈕 []傳入的是toolbars中的參數(shù)
UE.commands[] = function(){
.....
execCommand:function(){
.....
}
}
右鍵按鈕配置:
復制代碼 代碼如下:
//editor_config.js contextmenu.js文件中找到toolbars labelMap items三個參數(shù)進行配置
//命令右鍵配置
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){
....
}
}
插件命令配置:
復制代碼 代碼如下:
UE.plugins[] = function(){
var me = this;
//注冊鼠標和鍵盤事件
me.addListener('mousedown',_mouseDownEvent);
me.addListener('keydown',function(type,evt){...});
me.addListener('mouseup',function(){});
//查詢當前命令狀態(tài)
queryCommandState:function(cmdName){}
//命令執(zhí)行主體
exeCommand:function(cmdName,myobject){}
//獲取命令執(zhí)行結果
queryCommandValue:function(cmdName){}
}
插件彈出執(zhí)行注冊:
復制代碼 代碼如下:
dialog.onok = function(){
editor.execCommand("",""); //兩個參數(shù),功能參數(shù),我們自己需要傳入的值
dialog.close();
}
一些操作類,實用:
復制代碼 代碼如下:
//editor.selection.getRange() 查詢范圍方法
//editor類,此類用于初始化的一些設置,比如獲取內容,設置高寬,設置編輯器內容等等。
//domUtils類,此類用于不同幀內dom節(jié)點的操作,比如獲取父節(jié)點,節(jié)點屬性,文本內容等等。
//browser類,此類用于檢測游覽器,比如判斷IE火狐等。
//EventBase類,此類用基礎事件的注冊類,比如鼠標,鍵盤事件等。
//ajax類,此類用于ajax工具類。
//暫時在工作里只用到了上述,代碼的組織結構,都還木有研究。
如何給百度編輯器editor擴展
百度編輯器的editor對象中,是百度編輯器所有方法對象,在擴展時,只需要在首頁實例中,添加方法。editor.xx = {}。
在任何的頁面中editor對象,都可以點出我們在首頁中定義的擴展方法。
相關文章
最新版CKEditor的配置方法及插件(Plugin)編寫示例
本文記錄配置CKEditor過程,并以文章分頁插件為例,簡要CKEditor Plugin編寫過程。 從官網(wǎng)http://ckeditor.com/download下載最新版CKEditor,解壓2017-03-03PHP網(wǎng)頁 Ewebeditor 編輯器嵌入方法
因為ewebeditor編輯器的功能強大,容易擴展等原因,一直是大家比較喜愛的編輯器,所以下面介紹下ewebeditor如何跟php結合。2009-07-07ie9后瀏覽器fckeditor無法上傳圖片、彈出浮層內容不顯示的解決方法
升級到IE9后,fckeditor在IE9里的彈出浮動層會出現(xiàn)bug,里面的內容不會出現(xiàn)。原因是IE9不支持var $=document.getElementById;這樣的寫法了2014-01-01百度ueditor組件上傳圖片后如何設置img里的alt屬性
百度ueditor組件,使用上傳圖片后,設置了一個alt屬性,其值是上傳圖片時的本地路徑,如果想更改的話可以參考下面的解決方法2014-09-09FCKeditor編輯器添加圖片上傳功能及圖片路徑問題解決方法
現(xiàn)在很多CMS系統(tǒng)因為安全原因會把后臺編輯器里的上傳功能給去除,但這樣一來對實際使用過程造成了很多麻煩,今天我們以ASPCMS系統(tǒng)的FCKeditor編輯器為例,說明一下如何增加圖片上傳功能2014-04-04