《百度ueditor在線編輯器幾個需要優化的設置》要點:
本文介紹了百度ueditor在線編輯器幾個需要優化的設置,希望對您有用。如果有疑問,可以聯系我們。
相關主題:ueditor在線編輯器
百度ueditor在線編輯器剛下載時,有些初始化的設置可能并不是你想要的。
以下是一些常見的百度ueditor在線編輯器設置優化方法,希望能幫到你:
1、關閉遠程抓圖功能:
catchRemoteImageEnable : false //關閉,
經常出現抓到遠程圖后,但沒及時更新編輯器中內容,提交到服務器后又再抓一次。
所以改成在服務端處理遠程圖片保存問題。
2、修改了 ueditor.all.min.js 中不能關閉自動保存的功能。
'contentchange': function () {
if(!me.getOpt('enableAutoSave')) return; //增加這行
if ( !saveKey ) {
return;
}
如果是用min.js版本,則在contentchange:function()下加:if(!b.getOpt('enableAutoSave')){return;}
3、失去焦點事件:統計字數并提醒:
UE.getEditor('content').addListener('blur',function(editor){savecontent();});
把它加載到UE創建方法后面連寫,其中的Layer是一個DIV彈窗提示:
var ue = UE.getEditor('editor', { .... }).addListener('blur',function(editor){alert('1');});
應用:
var ue = UE.getEditor('editor', { ...配置項...}).addListener('blur',function(editor){
var con = this.getContent();
var conlen = con.length;
if(conlen > 6000) {
var outnum = conlen- 6000 ;
msg = '含代碼在內總字數已超過 6000 字限制。多出 '+outnum+' 字,請減少字數!';
if(typeof layer=='object') layer.msg(msg);
else alert(msg);
}
});
4、修改了百度UEditor修改右下角統計字數默認只統計所見的文字個數:
為了便于展示實際保存的時候是保存的包含html標簽的,所以右下角的統計字數功能需要修改
【方法1】
getContentLength: function (ingoneHtml, tagNames) {
var count = this.getContent(false,false,true).length;
/*if (ingoneHtml) {
tagNames = (tagNames || []).concat([ 'hr', 'img', 'iframe']);
count = this.getContentTxt().replace(/[\t\r\n]+/g, '').length;
for (var i = 0, ci; ci = tagNames[i++];) {
count += this.document.getElementsByTagName(ci).length;
}
}*/
return count;
},
找到ueditor.all.js這個文件 注釋掉if (ingoneHtml).... 就ok了。如果使用的是min.js版,則注釋掉
if(a){b=(b||[]).concat(["hr","img","iframe"]);for(var c=this.getContentTxt().replace(/[\t\r\n]+/g,"").length,e=0,h;h=b[e++];)c+=this.document.getElementsByTagName(h).length}
【方法2】
不改上面的方法,破壞了原函數代碼。其實第一個參數ingoneHtml在調用時傳遞false即可。
var count = editor.getContentLength(true); 改成 var count = editor.getContentLength(false);
min.js版則改:
d=b.getContentLength(!0)為d=b.getContentLength(!1)
這樣就行了。
同時修改UE底部的錯誤提示,修改zh-cn.js(如需修改英文版本,也可改en.js)中‘wordOverFlowMsg’內容如下:
'wordOverFlowMsg':'<span style="color:red;">字數允許最大{#count}個字,已超過{#outer}個字,服務器可能拒絕保存!</span>',
編輯器中這段再改下:
var count = editor.getContentLength(true);
if (count > max) {
// countDom.innerHTML = errMsg; //這行改成下面:
//字數允許最大{#count}個字限制,已超過{#outer}個字,服務器可能拒絕保存!
countDom.innerHTML = errMsg.replace("{#outer}", count-max).replace("{#count}", count);
editor.fireEvent("wordcountoverflow");
} else {
countDom.innerHTML = msg.replace("{#leave}", max - count).replace("{#count}", count); //:'當前已輸入{#count}個字符, 您還可以輸入{#leave}個字符。 ',
}
如果使用min.js版本,則在
d>e?(h.innerHTML=g,
改成:
d>e?(h.innerHTML = g.replace("{#outer}", d-e).replace("{#count}", d),/*h.innerHTML=g,*/
5、啟用了retainOnlyLabelPasted屬性,否則復制網頁內容,會添加了一堆的span等屬性。
//粘貼只保留標簽,去除標簽所有屬性
,retainOnlyLabelPasted: true