geminihr 2014-05-07
最近在用ue写页面,然后发现,自己用的图片上传,会在粘贴一些内容的时候,图片就显示不了了,通过页面调试发现图片路径发生了变化,而我用的是自定义的服务器的一个路径
查看源码,发现这块功能是如下流程
当粘贴后,UE会将目前编辑的所有内容中元素重新赋值属性,即源码中的setAttributes:function(node,attrs){
这个时候如果img控件使用的是外部地址,那么就会建立一个连接,将这个图片下载到本地服务器
也就是如下
远程图片抓取功能
源码中位置可以搜索UE.plugins['catchremoteimage']
这个内容在ueditor.config.js中是有明确配置的,默认是开启的状态,如果不想用这个功能,就可以关闭掉,那么也就不会存在图片显示不出来的情况了
如果还不想关闭掉,就要研究源码了
源码中会开启抓取远程图片的监听,当触发粘贴事件后,会执行一次
me.addListener("catchRemoteImage",function(){
然后会请求上传图片的JSP,即getRemoteImage.jsp
上传图片的拼接路径以及返回,就在这个jsp文件内了,可以研究下