ueditor富文本編輯器過濾及添加代碼修改筆記

關於百度ueditor富文本編輯器過濾及添加代碼修改筆記

方法/步驟

一、不過濾style或script

首先在ueditor.all.js文件內搜尋allowDivTransToP,找到如下的代碼,將true設置為false

me.setOpt('allowDivTransToP',false);

找到

switch (node.tagName) {

case 'style':

case 'script':

node.setAttr({

cdata_tag: node.tagName,

cdata_data: (node.innerHTML() || ''),

'_ue_custom_node_':'true'

});

node.tagName = 'div';

node.innerHTML('');

break;

case 'a':

if (val = node.getAttr('href')) {

node.setAttr('_href', val)

}

break;

刪除裡面的case 'style':或case 'script':即可

二、不在li里添加p標籤

找到如下代碼

//進入編輯器的li要套p標籤

去掉以下一段

utils.each(root.getNodesByTagName('li'),function(li){

var tmpP = UE.uNode.createElement('p');

for(var i= 0,ci;ci=li.children[i];){

if(ci.type == 'text' || dtd.p[ci.tagName]){

tmpP.appendChild(ci);

}else{

if(tmpP.firstChild()){

li.insertBefore(tmpP,ci);

tmpP = UE.uNode.createElement('p');

i = i + 2;

}else{

i++;

}

}

}

if(tmpP.firstChild() && !tmpP.parentNode || !li.firstChild()){

li.appendChild(tmpP);

}

//trace:3357

//p不能為空

if (!tmpP.firstChild()) {

tmpP.innerHTML(browser.ie ? '&nbsp;' : '<br/>')

}

//去掉末尾的空白

var p = li.firstChild();

var lastChild = p.lastChild();

if(lastChild && lastChild.type == 'text' && /^\s*$/.test(lastChild.data)){

p.removeChild(lastChild)

}

});

三、ul加list-paddingleft-2類

找到 function adjustListStyle(doc,ignore){

// 下點狠手,將裡面的內容全部去掉

}

在ueditor.all.min.js這個文件裡頭進行修改,搜尋(a.getNozoucms_d-esByTagName("li"),function(a)代碼後面有var b=UE.uNode.createelement("p")改成var b=UE.uNode.createelement("zou"),zou為非html標籤,可以自定義,這樣的話你再看下,就不會有討人壓的P標籤自動出現了!

針對LI去除樣式,搜尋case "li": 將這個case下的代碼片段注釋掉,這樣就不會自動清除LI的class樣式了!

終極方式 在ueditor.all.min.js這個文件里,搜尋l.addInputRule(function(a) {從這個大括號「{」後面的一直到下一個if 中間的代碼全刪掉。就不會自動加P了

在搜尋p.each(f.getElementsByTagName(b, "ol ul"),去掉裡面的ul就可以去掉UL的強制代碼

禁止過濾JS標籤,搜尋case "script":並刪除就可以

禁止過濾link css標籤搜尋cp.each(this.document.styleSheets,從這個標籤前面var b="";開始到{b+=a.outerHTML})全刪掉留一個}

刪除文本強制不換行2中方式,

1,使用純文本模式。

2,在ueditor.all.js文件內搜尋nowrap,將對應那段帶有case 'span':

的一整段代碼注釋掉

注意事項

1.43版本修改,其他不詳

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場