UEditor使用有感(紅色),保存內容時,會自動添加p標簽


UEditor 介紹

UEditor 是由百度「FEX前端研發團隊」開發的所見即所得富文本web編輯器,具有輕量,可定制,注重用戶體驗等特點,開源基於MIT協議,允許自由使用和修改代碼。

1 入門部署和體驗

1.1 下載編輯器

到官網下載 UEditor 最新版:[官網地址]

1.2 創建demo文件

解壓下載的包,在解壓后的目錄創建 demo.html 文件,填入下面的html代碼

<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>ueditor demo</title> </head> <body> <!-- 加載編輯器的容器 --> <script id="container" name="content" type="text/plain"> 這里寫你的初始化內容 </script> <!-- 配置文件 --> <script type="text/javascript" src="ueditor.config.js"></script> <!-- 編輯器源碼文件 --> <script type="text/javascript" src="ueditor.all.js"></script> <!-- 實例化編輯器 --> <script type="text/javascript"> var ue = UE.getEditor('container'); </script> </body> </html>

1.3 在瀏覽器打開demo.html

如果看到了下面這樣的編輯器,恭喜你,初次部署成功!

部署成功

1.4 傳入自定義的參數

編輯器有很多可自定義的參數項,在實例化的時候可以傳入給編輯器:

var ue = UE.getEditor('container', { autoHeight: false });

配置項也可以通過 ueditor.config.js 文件修改,具體的配置方法請看前端配置項說明

1.5 設置和讀取編輯器的內容

通 getContent 和 setContent 方法可以設置和讀取編輯器的內容

var ue = UE.getContent(); //對編輯器的操作最好在編輯器ready之后再做 ue.ready(function() { //設置編輯器的內容 ue.setContent('hello'); //獲取html內容,返回: <p>hello</p> var html = ue.getContent(); //獲取純文本內容,返回: hello var txt = ue.getContentTxt(); });

UEditor 的更多API請看API 文檔

2 詳細文檔

UEditor 官網:http://ueditor.baidu.com

UEditor API 文檔:http://ueditor.baidu.com/doc

UEditor Github 地址:http://github.com/fex-team/ueditor

3 聯系我們

Email:ueditor@baidu.com

Issue:github issue

 

1、設置監聽事件使textarea節點自動加載顯示內容;

$(function(){
var ue = UE.getEditor('editor');
//對編輯器的操作最好在編輯器ready之后再做
ue.ready(function() {
//獲取html內容,返回: <p>hello</p>
var html = ue.getContent();
ue.getContent(function(){
$("#ueditor_textarea_editorValue").html(html);
});
});
ue.addListener('contentChange',function(){
$("#ueditor_textarea_editorValue").html(this.getContent());
})
});

經設置還是不能掉P標簽

臨時解決方法,但會把全部html標簽去掉,不可取。

 其實是因為使用了模板引擎的標簽{{}}導致的,它會把html標簽過慮成實體字符,所以ueditor自動加P標簽;

只要把{{}}換成{!!   !!},問題就解決了,它不會過慮html標簽。

 

2、網上的做

 

百度的Ueditor編輯器出於安全xìng考慮,用戶在html模式下粘貼進去的html文檔會自動被去除樣式和轉義。雖然安全的,但是非常不方便。 
做一下修改把這個功能去掉。
一、打開ueditor.all.js
二、大概9300行找到 ///plugin 編輯器默認的過濾轉換機制,把下面的
'allowDivTransToP':true

值改成false。為true的時候會自動把div轉成p。
三、大概9429行,有個case 'li',這個是把li里面的樣式去掉,把這個case注釋掉。
四、大概14058行,下面的第一個utils.each功能注釋掉,這個是自動給li里面的內容增加一個p。
五、大概14220行,
node.className = utils.trim(node.className.replace(/list-paddingleft-\w+/,'')) + ' list-paddingleft-' + type;

注釋掉,這個是自動給ul增加一個內置的樣式。
下面的14222行
li.style.cssText && (li.style.cssText = '');

注釋掉,這個是自動去除粘貼進去的代碼的li的style樣式

至此,我們粘貼進去的html格式的ul和li就不會被轉義了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM