1. 程式人生 > >百度Ueditor編輯器的Html模式自動替換樣式的解決方法

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

tor tail classname 功能 lai empty als 包含 emp

百度的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版本。新版本位置可能有變動或者已經解決此問題。

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