解决百度ueditor编辑器上传图片遭遇referer为空防盗链图裂问题

防盗链显原理就不多说了,能找到这篇文章都清楚的,百度编辑器因为是使用iframe所以referer就没有了空白。

解决这个问题需要有两部份问题,先说多图上传,因它多图上传不用改源码就能实现,直接上代码。

<div id="loadimgs" style="width:0;height:0;overflow:hidden"></div>
ueditorObj.addListener('beforeInsertImage',function(event,args){
var loadimgs = $('#loadimgs'),_imgstr='';
for(var i in args){
_imgstr += '<img src="'+args[i].src+'">';
}
loadimgs.append(_imgstr);
});


先监听编辑器的图片插入事件,在插入图片前将图片写入loadimgs先请求一下就行了。


第二部份就是单图上传,因为单图上传不能触发beforeInsertImage事件,所以也没办法,先看编辑器源码。

百度ueditor编辑器


我的是版本是1.4.3 这个代码在24450

上传单图的时候我们看到的是,选择图片后先是一个转动的gif图片等待图片上传完成,就是这个代码,等待上传完成后再通过function callback()这个回调函数替换掉上传成功的图片,以达到图片上传成功的目的,这儿没有发现有事件触发。

这里可以自己加两个事件:

me.fireEvent('beforeInsertImage');//调用api触发图片插入前的事件,这个代码放在替换前

me.fireEvent('afterInsertImage');//调用api触发图片插入后的事件,这个代码放在替换后

如果还有其他想修改的也可以自己改。


转载请注明出处


Tags javascript 建站

留言(0)

评论