ASP.NET中集成百度編輯器UEditor
0.ueditor簡介
UEditor是由百度WEB前端研發(fā)部開發(fā)的所見即所得的開源富文本編輯器,具有輕量、可定制、用戶體驗優(yōu)秀等特點。開源基于BSD協(xié)議,所有源代碼在協(xié)議允許范圍內(nèi)可自由修改和使用。
UEditor官網(wǎng):http://ueditor.baidu.com/website/index.html
UEditor官方文檔地址: http://fex.baidu.com/ueditor/
1.將ueditor包導(dǎo)入項目
將從官網(wǎng)上下載的開發(fā)包解壓后包含到項目中
(注:最新的代碼需要時基于.NETFramework4以上)
解壓后目錄下文件如下:
index.html 是一個示例文件、可以刪去,ueditor.config.js中是一些富文本編輯器的設(shè)置,建議不要改動,可以在頁面中引用的時候設(shè)置,如果所有頁面都需要設(shè)置可以寫在一個js文件中,dialogs是在文本框中點擊按鈕時用到的一些彈出框效果,lang文件夾下是語言相關(guān)的設(shè)置,目前只有中文與英文,themes文件夾下是一些樣式,third-party文件夾下是一些第三方的插件,有代碼高亮,截屏等
我在我的項目中新建了一個ueditorHelper.js文件,在文件中定義了一些ueditor常用的方法,以及對于ueditor的一些設(shè)置
在net目錄下,我們只保留controller.ashx與config.json就可以了,同時把App_Code中的代碼拷貝到項目中的App_Code中,同時添加對bin目錄下Json.NET程序集的引用,config.json文件定義了一些設(shè)置,配置上傳文件的一些要求以及上傳到服務(wù)器保存的路徑,在web.config文件中可以看到項目框架應(yīng)至少為4.0
2.在頁面中添加js引用,在頁面中引用
添加zh-cn.js文件是要設(shè)置語言,防止自動識別語言錯誤而導(dǎo)致語言適配錯誤,UEditorHelper.js文件是一些常用的方法和編輯器設(shè)置的封裝,查看index.html的源代碼,在其中有一段js代碼
自定義的UEditorHelper.js文件中使用到了一些方法,并對第一行代碼進行了修改,進行 ueditor富文本編輯器的設(shè)置
3.頁面初始化
在需要添加富文本編輯器的地方加入以下代碼:
<script type="text/plain"></script>
4.編輯內(nèi)容時,頁面的加載(ajax加載內(nèi)容)
因為富文本編輯器只是生成的一段html代碼,我們需要利用Ajax動態(tài)加載內(nèi)容,相比CKEditor來說,這是比較麻煩的地方,使用CKEditor可以直接使用封裝好的服務(wù)器端控件,當(dāng)然也可以不用服務(wù)器端控件利用Ajax動態(tài)加載內(nèi)容。
首先在頁面加載時獲取到新聞的id,然后再進行ajax查詢,查詢新聞封裝在了一個handler中,向這個handler發(fā)起ajax請求,請求參數(shù)為新聞id,獲取新聞,獲取到之后,把新聞的內(nèi)容設(shè)置給ueditor
//實例化編輯器 //建議使用工廠方法getEditor創(chuàng)建和引用編輯器實例,如果在某個閉包下引用該編輯器,直接調(diào)用UE.getEditor('editor')就能拿到相關(guān)的實例 var ue = UE.getEditor('editor',{autoHeightEnabled: false}); function isFocus(e) { alert(UE.getEditor('editor').isFocus()); UE.dom.domUtils.preventDefault(e) } function setblur(e) { UE.getEditor('editor').blur(); UE.dom.domUtils.preventDefault(e) } function insertHtml() { var value = prompt('插入html代碼', ''); UE.getEditor('editor').execCommand('insertHtml', value) } function createEditor() { UE.getEditor('editor'); } function getAllHtml() { return UE.getEditor('editor').getAllHtml(); } function getContent() { return UE.getEditor('editor').getContent(); } function getPlainTxt() { return UE.getEditor('editor').getPlainTxt(); } function setContent(isAppendTo) { UE.getEditor('editor').setContent('', isAppendTo); } function getText() { //當(dāng)你點擊按鈕時編輯區(qū)域已經(jīng)失去了焦點,如果直接用getText將不會得到內(nèi)容,所以要在選回來,然后取得內(nèi)容 var range = UE.getEditor('editor').selection.getRange(); range.select(); return UE.getEditor('editor').selection.getText(); } function getContentTxt() { return UE.getEditor('editor').getContentTxt(); } function hasContent() { return UE.getEditor('editor').hasContents(); } function setFocus() { UE.getEditor('editor').focus(); } function deleteEditor() { UE.getEditor('editor').destroy(); } function getLocalData() { alert(UE.getEditor('editor').execCommand("getlocaldata")); } function clearLocalData() { UE.getEditor('editor').execCommand("clearlocaldata"); alert("已清空草稿箱") }
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
asp.net頁面SqlCacheDependency緩存實例
這篇文章主要介紹了asp.net頁面SqlCacheDependency緩存實例,以一個完整實例來展現(xiàn)asp.net中緩存技術(shù)的使用方法,需要的朋友可以參考下2014-08-08使用Fiddler調(diào)試visual studion多個虛擬站點的問題分析
本篇文章小編為大家介紹,使用Fiddler調(diào)試visual studion多個虛擬站點的問題分析。需要的朋友參考下2013-04-04.net任務(wù)調(diào)度框架FluentScheduler簡介
這篇文章介紹了.net任務(wù)調(diào)度框架FluentScheduler,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07C#調(diào)用動態(tài)unlha32.dll解壓Lha后綴的打包文件分享
這篇文章介紹了,C#調(diào)用動態(tài)unlha32.dll解壓Lha后綴的打包文件,有需要的朋友可以參考一下2013-09-09ASP.NET Core 7 Razor Pages項目發(fā)布到IIS的詳細過程
這篇文章主要介紹了ASP.NET Core 7 Razor Pages項目發(fā)布到IIS的詳細過程,詳細介紹了發(fā)布過程遇到的問題及解決方法,對ASP.NET Core 發(fā)布到IIS相關(guān)知識感興趣的朋友一起看看吧2023-01-01.NET下為百度文本編輯器UEditor增加圖片刪除功能示例
今天下載了目前最新版1.2.5為版本看更新記錄,主要是對表格做個修改,我下載用上,我靠,上傳圖片的刪除功能給取消了,下面與大家分享下增加圖片刪除功能示例2013-05-05告別ADO.NET實現(xiàn)應(yīng)用系統(tǒng)無縫切換的煩惱(總結(jié)篇)
說起ADO.NET,就扯上了數(shù)據(jù)庫訪問類庫了,現(xiàn)在的每個項目的數(shù)據(jù)庫訪問類應(yīng)該說都很強的了,經(jīng)常就聽到說我的我們的數(shù)據(jù)庫訪問類怎么怎么強大而且支持多數(shù)據(jù)庫,現(xiàn)在的大家做的項目里用的數(shù)據(jù)庫訪問類庫我想也都是支持多數(shù)據(jù)庫吧,支持到什么程度我就不知道了2009-11-11