项目要求ue右下角计算字符数和实际字符数相符,但是目前发现它在计算字符数的时候,汉字同样计算为一个字符,如下图所示:
通过查找源码,发现计算字符数的该方法位于ueditor.all.js的大约7907行,在这里只过滤了部分标签,并没有针对汉字做处理:
将计算汉字字符的js方法替换到该行,效果就OK了~
getContentLength: function (ingoneHtml, tagNames) {
var count = this.getContent(false,false,true).length;
if (ingoneHtml) {
tagNames = (tagNames || []).concat([ 'hr', 'img', 'iframe']);
count = this.getContentTxt().replace(/[\u0391-\uFFE5]/g,"aa").length;
for (var i = 0, ci; ci = tagNames[i++];) {
count += this.document.getElementsByTagName(ci).length;
}
}
return count;
},
参考方法:JS获取字符串实际长度(包含汉字)的简单方法 点击打开链接