百度UEditor远程图片抓取代码存在的Bug
微wx笑 2019-09-04【网页网站】 27 0关键字:
帝国CMS后台编辑器改为了百度UEditor,但在使用的过程中发现了一个Bug。
就是在粘贴来自微信公众号的图片时,后台已经返回成功了,但是客户端脚本在做图片URL地址比较的时候存在Bug,导致最终不成功。
百度UEditor远程图片抓取代码存在的Bug
帝国CMS后台编辑器改为了百度UEditor,但在使用的过程中发现了一个Bug。
就是在粘贴来自微信公众号的图片时,后台已经返回成功了,但是客户端脚本在做图片URL地址比较的时候存在Bug,导致最终不成功。
远程抓取的图片地址:
通过下图的控制台输出可以看出,后台返回的 cj.source 被转义了。而比较的时候却没有对本地取得的图片URL进行编码或对后台返回的图片URL进行解码,所以导致对比失败,最终结果是抓取失败。
解决方法:
对返回的URL进行替换
if (oldSrc == cj.source.replace(/&/ig, "&") && cj.state == "SUCCESS") { //抓取失败时不做替换处理
关键代码:
cj.source.replace(/&/ig, "&")
大概在 ueditor.all.js 的 23248 行,压缩过的文件只有一行,自己试着找一下吧。
另外,UEditor官方代码库关闭了issues功能,我Fork了一份,开启了issues功能,大家在使用中发现问题欢迎提交,https://github.com/ivu4e/ueditor/issues
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/web/2019-09-04/186.html