UEditor编辑器常见问题的解决办法

UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,并实现浏览器无差别化兼容。所以UEditor受到许多项目组的青睐。

最近做项目时遇到了UEditor插件使用问题,在此总结一下Ueditor在使用过程中遇到的常见问题和解决方法,供大家以后参考。

一、如何调整UEditor工具栏

UEditor功能强大,但是有些功能我们是用不到的,简化方法如下两种:

1、可以在ueditor.config.js中配置,搜索"toolbars"找到工具栏配置项,删掉不必要的功能就可以了。

2、在调用ueditor时重新配置工具选项

二、UEditor编辑器插入大图片撑出滚动条问题

UEditor默认在插入一张较大图片后预览会撑出滚动条,如下图:

想要看清图片全貌需要手动缩放,如此难免会有所变形。

解决方法如下:

首先通过定位发现,此处图片大小不能通过添加CSS样式控制

再通览UEditor核心文件并查阅相关文档,找到一种最有效的方案,即

ueditor.all.js 中找到render:function(container){}修改添加如下配置项:

//设置图片最大宽度,以免撑出滚动条

'img{max-width:100%;}'+

var html = ( ie && browser.version < 9 ? '' : '<!DOCTYPE html>') +

'<html xmlns=\'http://www.w3.org/1999/xhtml\' class=\'view\' ><head>' +

'<style type=\'text/css\'>' +

//设置四周的留边 
'.view{padding:0;word-wrap:break-word;cursor:text;height:90%;}\n' +

//设置默认字体和字号

//font-family不能呢随便改,在safari下fillchar会有解析问题

'body{margin:8px;font-family:sans-serif;font-size:16px;}' +

//设置图片最大宽度,以免撑出滚动条

'img{max-width:100%;}'+

//设置段落间距

'p{margin:5px 0;}</style>' +

( options.iframeCssUrl ? '<link rel=\'stylesheet\' type=\'text/css\' href=\'' + utils.unhtml(options.iframeCssUrl) + '\'/>' : '' ) +

(options.initialStyle ? '<style>' + options.initialStyle + '</style>' : '') +

'</head><body class=\'view\' ></body>' +

'<script type=\'text/javascript\' ' + (ie ? 'defer=\'defer\'' : '' ) +' id=\'_initialScript\'>' +

'setTimeout(function(){editor = window.parent.UE.instants[\'ueditorInstant' + me.uid + '\'];editor._setup(document);},0);' +

'var _tmpScript = document.getElementById(\'_initialScript\');_tmpScript.parentNode.removeChild(_tmpScript);</script></html>';

修改后效果如下:

三、UEditor如何自动抓取远程图片

如果想实现粘贴网页时,直接将其中的图片上传到自己的图片服务器,该怎么做呢?这其中主要用到的js是ueditor.all.js中catchremoteimage方法。

首先设置编辑器选项:catchRemoteImageEnable:true。这样便开启了自动抓取图片的功能。

var ue = UE.getEditor('editor', {       
    // 开启自动抓取图片的功能       
    catchRemoteImageEnable:true   
});

如果想自定义图片上传方式,而不用UEditor默认的图片上传地址,那么需要修改catchremoteimage方法这里:

把这里的url改成自定义的ashx文件地址即可。 

四、UEditor如何实现选择多图片后自动上传

UEditor上传多张图片时需要手动点击“开始上传”按钮然后插入图片,操作过程略显繁琐,其实可以去掉“开始上传”,在选中图片后自动上传

首先找到dialogs/image/image.html,隐藏image.html的“开始上传”按钮。

然后修改dialogs/image/image.js文件,找到addFile方法,然后在方法结尾添加以下代码:

function addFile(file) {
    ……
    
    //自动上传
    clickUpload = function () {
        $upload.click();
    }
    setTimeout("clickUpload()", 1000);
}

总结

UEditor中的bug和不友好的体验可能还有很多,以上是我在使用UEditor插件时遇到的常见问题及解决方法的总结,希望可以帮到大家。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的2009

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值