百度Ueditor编辑器wordimage踩坑

背景

改造公司老项目后台编辑器,使用百度的Ueditor做替换。

发现问题

  • 1、ue编辑器初始化后部分参数无法覆盖ueditor.config.js中的选项。
  • 2、wordimage(word图片转存)始终是灰色,无法使用。

解决办法

  • 1、将ueditor.config.js中的inputXssFilter设置为false
  • 2、将ueditor.all.js源码中添加input过滤规则的地方添加上下面的代码:
if (whitList && config.inputXssFilter) {
...
   if (node.type !== 'element') {
   	return false;
   }
   // 添加内容开始
   if (node.tagName === 'img' && node.attrs.word_img) {
   	return false;
   }
   // 添加内容结束
   filter(node);
...
}
复制代码

推荐使用第二种方法解决

寻踪

  • 首先打开ueditor.all.js搜索“wordimage”找到 本地图片引导上传
UE.plugin.register('wordimage',function(){
...
复制代码

在 inputRule 方法中使用 debugger 打断点调试,发现在这里img的attrs变了

紧接着搜索"!== 'element'"很快就找到了:

发现如果是element元素就进行filter过滤,意识到了我可以通过关闭inputXssFilter来关闭这个过滤。

但是这个输入的Xss过滤我感觉还是不要去掉的好。 所以就依据word_img的这个attr属性添加了对应的判断。

使之可以跳过这个filter。


结语

至此就解决了ueditor的wordimage图片转存不生效的问题了。

至于在实例化UE的时候,传入 inputXssFilter: false 不生效的问题还木有去查,懒得查了,毕竟改了源码后不影响使用。

还是希望开发者们在写过滤规则的时候,要考虑全局,是否会有一些特定的规则处理。

大橘为重嘛!!!

表情包如有侵权,请联系作者删除

转载于:https://juejin.im/post/5d00ab3e518825183b454cf7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
插件详细说明地址https://blog.csdn.net/viqecel/article/details/79670613 =========================================== 一,后台网站设置. 选择ueditor 二,修改member\editor\ueditor\ueditor.config.js 366行 的 a: ['target', 'href', 'title', 'class', 'style'], 修改为 a: ['target', 'href', 'title', 'class', 'style', 'name'], 403行的 img: ['src', 'alt', 'title', 'width', 'height', 'id', '_src', 'loadingclass', 'class', 'data-latex'], 修改为 img: ['src', 'alt', 'title', 'width', 'height', 'id', '_src', 'loadingclass', 'class', 'data-latex','anchorname','word_img','style'], 三,修改member\editor\ueditor\init.inc.php 注释掉25行 即 $editor .= 'serverUrl:UPPath+"?from=editor&moduleid;='.$moduleid.'",'; 然后.查找 'fullscreen', 批量替换为 'fullscreen', 'wordimage' 其实就是在后面增加 转存按钮 四,把百度编辑器ueditor目录中的php文件复制到系统对应目录中 即保证 member\editor\ueditor\php\controller.php 这个 控制器文件可访问 然后修改controller.php 文件 第4行 把Chongqing首字母设置为大写] 即 date_default_timezone_set("Asia/Chongqing"); 五,修改图片上传保存目录.即php/config.json 即 11行 替换为绝对路径,你的首页网站地址直接填这即可,后面不加斜线,这里如果不加绝对路径.则没法自动读取第一个图片为标题图片. "imageUrlPrefix": "这里修改为你的网站首页网址不加后斜线", 12行替换为下面一行. 即修改图片保存路径,与原系统一致即可 "imagePathFormat": "/file/upload/{yyyy}{mm}/{dd}/{time}{rand:2}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ 后台系统维护,点击更新所有缓存,ctrl+f5强制刷新后台

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值