UEditor如何進行二次開發

2021-08-07 19:32:05 字數 2255 閱讀 5393

ueditor 雖然功能眾多,但對於廣大開發者來說,還是有很多定製化的功能需求,如果都靠ueditor團隊自己開發那是不現實的,這時就需要廣大開發者在ueditor的基礎上自己開發定製功能。但在之前的版本中,ueditor對於二次開發的支援不夠優化,經常需要開發者不僅要開發相應的功能,例如command命令,plugin外掛程式等,還要在ueditor上修改多處檔案,例如,新增按鈕,新增樣式等等,才能將功能新增到ueditor中。這樣的方式對於以後的公升級和後續定製功能的維護,都會造成維護困難的問題。介於次,ueditor從1.4.1開始,新增對於二次開發的擴充套件支援。

無需對 ueditor **做任何修改,只需在ueditor之外通過ueditor提供的二次開發介面開發定製功能.這種開發方式不僅避免了修改ueditor原始碼,方便日後ueditor的公升級,而且通過介面,可以將開發的定製功能維護到乙個檔案中或者乙個目錄中,方便日後對其維護。

對於 ueditor 的二次開發,一般多為新增按鈕,下拉筐或者是新增乙個dialog。基於這幾種常規的方式,我在_examples目錄下分別書寫了3個型別的定製demo。

addcustomizebutton.js 新增乙個按鈕

addcustomizecombox.js 新增乙個下拉框

addcustomizedialog.js 新增乙個彈出層

除了新增彈出層需要乙個而外的html頁面外,對於需要新增和修改的功能**全部都維護到乙個js檔案中了。

使用檔案的方式:

新新增的按鈕就完成了。例項化編輯器時,無需再而外新增任何**。

前面講了如何部署你的功能,這個小節來和大家講一下,ueditor提供那些介面,讓大家可以在編輯器之外擴充套件你的功能。

ue

.registerui

('uiname'

,function

(editor

,uiname),

[index,[

editorid

]]);

考慮到大家的功能基本上都會擴充套件乙個ui和這個ui做的事情,所以ueditor提供了registerui這個介面,可以讓開發者動態的注入擴充套件的內容。

uiname,是你為新新增的ui起的名字,這裡可以是1個或者多個,「uiname」後者是「uiname1 uiname2 uiname3」

index,是你想放到*******的那個位置,預設是放到最後

editorid,當你的頁面上有多個編輯器例項時,你想將這個ui擴充套件到那個編輯器例項上,這裡的editorid是給你編輯器初始化時,傳入的id,預設是每個例項都會加入你的擴充套件

新增乙個按鈕

ue

.registerui

('button'

,function

(editor

,uiname

)});

//建立乙個button

varbtn

=newue.

ui.button

(});

editor

.addlistener

('selectionchange'

,function

()else

});//因為你是新增button,所以需要返回這個button

return

btn;

});

新增多個

ue

.registerui

('bold italic redo undo underline strikethrough'

,function

(editor

,uiname

)});

//建立乙個button

varbtn

=newue.

ui.button

(});

editor

.addlistener

('selectionchange'

,function

()else

});//因為你是新增button,所以需要返回這個button

return

btn;

});

之前ueditor對於第三方的開發確實支援的不夠靈活,導致為了開發還要汙染ueditor本身,這為後學公升級新增了麻煩。當然現在這個設計可能還有考慮不到的地方,大家可以直接發issue給我們,我們會進行及時的補丁,並在後續的版本中更新。

實戰 Ueditor擴充套件二次開發

第一部分 開發前期準備 1 ueditor從1.4.1開始,新增對於二次開發的擴充套件支援。jeewx擴充套件二次開發採用1.4.3.1 jsp 版本 2 上傳設定 簡述 ue做的不夠靈活,不如老版本 1 配置檔案 ueditor jsp config.json 說明 所有專案配置訪問字首 2 引入...

實戰 Ueditor擴充套件二次開發

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!第一部分 開發前期準備 1 ueditor從1.4.1開始,新增對於二次開發的擴充套件支援。jeewx擴充套件二次開發採用1.4.3.1 jsp 版本 2 上傳設定 簡述 ue做的不夠靈活,不如老版本 1 配置檔案 ueditor jsp conf...

AutoCAD進行二次開發

本文基於autocad 2006新推出的.net api為工具,介紹了在.net平台下對autocad進行二次開發的技術,並與目前常用的vba objectarx作了對比。同時討論了如何彌補.net api某些不足的功能。當前autocad的二次開發工具主要有 visuallisp vba和obje...