免費開源百度編輯器(UEditor)使用方法

UEditor是一個開源免費的編輯器,由百度web前端研發部開發所見即所得富文本web編輯器,具有輕量,可定製,注重用戶體驗等特點,開源基於BSD協議,允許自由使用和修改代碼

點擊新窗口打開大圖
UEditor效果圖

一、簡介

UEditor是一個開源免費的編輯器,由百度web前端研發部開發所見即所得富文本web編輯器,具有輕量,可定製,注重用戶體驗等特點,開源基於BSD協議,允許自由使用和修改代碼。

官方網站:
http://ueditor.baidu.com/

二、下載地址

官方下載:
http://ueditor.baidu.com/website/download.html

官網上下載完整源碼包,解壓到任意目錄,解壓後的源碼目錄結構如下所示:
    _examples:編輯器完整版的示例頁面
    dialogs:彈出對話框對應的資源和JS文件
    themes:樣式圖片和樣式文件
    php/jsp/.net:涉及到服務器端操作的後臺文件,根據你選擇的不同後臺版本,這裏也會不同,這裏應該是jsp,php,.net
    third-party:第三方插件(包括代碼高亮,源碼編輯等組件)
    editor_all.js:_src目錄下所有文件的打包文件
    editor_all_min.js:editor_all.js文件的壓縮版,建議在正式部署時才採用
    editor_config.js:編輯器的配置文件,建議和編輯器實例化頁面置於同一目錄

或者網上搜索別人配置好的實例,這樣自己就不用折騰了。我自己弄的,結果折騰了好久,差點想放棄了!

我下載的是開發版 [1.2.5.1 .Net 版本]  2013年4月27日,最新版本。

三、部署方法

點擊新窗口打開大圖

代碼結構圖

第一步:在項目的任一文件夾中建立一個用於存放UEditor相關資源和文件的目錄,此處在項目根目錄下建立,起名爲ueditor(自己喜歡)。
第二步:拷貝源碼包中的dialogs、themes、third-party、editor_all.js和editor_config.js到ueditor文夾中。其中,除了ueditor目錄之外的其餘文件均爲具體項目文件,此處所列僅供示例。
第三步:爲簡單起見,此處將以根目錄下的index.php頁面作爲編輯器的實例化頁面,用來展示UEditor的完整版效果。在index.php文件中,首先導入編輯器需要的三個入口文件,示例代碼如下:


<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>編輯器完整版實例</title>
<script type="text/javascript" src="ueditor/editor_config.js"></script>
<script type="text/javascript" src="ueditor/editor_all.js"></script>

第四步:然後在index.php文件中創建編輯器實例及其DOM容器。具體代碼示例如下:


<textarea name="後臺取值的key" id="myEditor">這裏寫你的初始化內容</textarea>
<script type="text/javascript">
    var editor = new UE.ui.Editor();
    editor.render("myEditor");
    //1.2.4以後可以使用一下代碼實例化編輯器
    //UE.getEditor('myEditor')
</script>


最後一步: 在/UETest/ueditor/ editor_config.js中查找URL變量配置編輯器在你項目中的路


//強烈推薦以這種方式進行絕對路徑配置(注意:下面的UETest是虛擬目錄名稱)
URL= window.UEDITOR_HOME_URL||"/UETest/ueditor/";

至此,一個完整的編輯器實例就已經部署到咱們的項目中了!在瀏覽器中輸入http://localhost/UETest 運行下試試UE強大的功能吧!

四、注意事項

1.在引用editor_config.js時,最好先於editor_all.js加載,否則特定情況下可能會出現報錯。
2.如果想編輯器賦初始值,請參考_examples文件的一些例子代碼,或者閱讀官方給出的文檔說明。
3. 需要注意的是編輯器資源文件根路徑。它所表示的含義是:以編輯器實例化頁面爲當前路徑,指向編輯器資源文件(即dialog等文件夾)的路徑。鑑於很多同學在使用編輯器的時候出現的種種路徑問題,此處強烈建議大家使用"相對於網站根目錄的相對路徑"進行配置。"相對於網站根目錄的相對路徑"也就是以斜槓開頭的形如"/UETest/ueditor/"這樣的路徑。

此外如果你使用的是相對路徑,例如"ueditor/"(相對於圖表1路徑結構),如果站點中有多個不在同一層級的頁面需要實例化編輯器,且引用了同一UEditor的時候,可能不適用於每個頁面的編輯器。因此,UEditor提供了針對不同頁面的編輯器可單獨配置的根路徑,具體來說,在需要實例化編輯器的頁面最頂部寫上如下代碼即可。
當然,需要令此處的URL等於對應的配置。window.UEDITOR_HOME_URL ="/xxxx/xxxx/";
例如:根據圖表1的目錄結構

如果你在index.aspx裏使用編輯器,那麼在editor_config.js裏最上邊的var URL就改成 var URL = "/UETest/ueditor/"

五、常見問題

1.亂碼
如果運行成功了,而出現亂碼的話,請檢查你的編碼方式。UEditor引用的腳本帶有編碼方式和meta標籤。我下載的是utf-8版,運行起來就出現了亂碼,我把引用的腳本中的charset="utf-8" 去掉就沒有問題了。

2.上傳圖片出錯
如果上傳圖片出現紅色的叉叉,或者上傳到一半沒有反應。把net文件夾(PHP語言對應的是php,而JSP語言對應的是jsp)下面的web.config刪除,原因是它裏面使用.net 4.0的配置,而3.5和以下的版本就會有問題,刪除不會有影響。

六、最後,附上我的代碼


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test2.aspx.cs" Inherits="Test2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>UEditor測試</title>
    <script src="ueditor/editor_config.js" type="text/javascript"></script>
    <script src="ueditor/editor_all.js" type="text/javascript"></script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server" Width="500px" Height="300px" TextMode="MultiLine"></asp:TextBox>
        <script type="text/javascript">
            UE.getEditor('TextBox1',{
                //這裏可以選擇自己需要的工具按鈕名稱,此處僅選擇如下五個
                toolbars:[
                    ['fullscreen', 'source', '|', 'undo', 'redo', '|',
                        'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch','autotypeset','blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist','selectall', 'cleardoc', '|',
                        'rowspacingtop', 'rowspacingbottom','lineheight','|',
                        'customstyle', 'paragraph', 'fontfamily', 'fontsize', '|',
                        'directionalityltr', 'directionalityrtl', 'indent', '|',
                        'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|','touppercase','tolowercase','|',
                        'link', 'unlink', 'anchor', '|', 'imagenone', 'imageleft', 'imageright','imagecenter', '|',
                        'insertimage', 'emotion','scrawl', 'insertvideo','music','attachment', 'map', 'gmap', 'insertframe','highlightcode','webapp','pagebreak','template','background', '|',
                        'horizontal', 'date', 'time', 'spechars','snapscreen', 'wordimage', '|',
                        'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', '|',
                        'print', 'preview', 'searchreplace','help']
                ],
                //focus時自動清空初始化時的內容
                autoClearinitialContent:true,
                //關閉字數統計
                wordCount:false,
                //關閉elementPath
                elementPathEnabled:false
                //更多其他參數,請參考editor_config.js中的配置項
            })
        </script>
    </div>
    </form>
</body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章