百度ueditor在线编辑器几个需要优化的设置

前端之家收集整理的这篇文章主要介绍了百度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

猜你在找的JavaScript相关文章