百度Ueditor編輯器的Html模式自動替換樣式的解決方法


百度的Ueditor編輯器出於安全性考慮,用戶在html模式下粘貼進去的html文檔會自動被去除樣式和轉義。雖然安全的,但是非常不方便。

做一下修改把這個功能去掉。

一、打開ueditor.all.js

二、大概9300行找到 ///plugin 編輯器默認的過濾轉換機制,把下面的

[javascript]  view plain  copy
 
  1. 'allowDivTransToP':true  

值改成false。為true的時候會自動把div轉成p。

三、大概9429行,有個case 'li',這個是把li里面的樣式去掉,把這個case注釋掉。

四、大概14058行,下面的第一個utils.each功能注釋掉,這個是自動給li里面的內容增加一個p。

五、大概14220行,

[javascript]  view plain  copy
 
  1. node.className = utils.trim(node.className.replace(/list-paddingleft-\w+/,'')) + ' list-paddingleft-' + type;  

注釋掉,這個是自動給ul增加一個內置的樣式。

下面的14222行

[javascript]  view plain  copy
 
  1. li.style.cssText && (li.style.cssText = '');  

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

 六、大概9327行和9471行附近的

[javascript]  view plain  copy
 
  1. else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) {                         
  2.                         node.parentNode.removeChild(node, true)  
  3.                     }  

去掉,這是代碼中如果有類似<span>文字</span>這樣的不包含樣式的<span>元素將會被刪掉<span>只保留文字。

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

PS:以上版本修改基於1.3.6版本。新版本位置可能有變動或者已經解決此問題。


免責聲明!

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



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