最近,项目中需要用到ftp上传文件,然后jsp页面就用到了uploadify这个上传控件,但是这个插件好像很久没有更新了,有一些兼容性问题也没有去解决,需要开发者自己解决。我来讲讲我遇到的ie9和360极速浏览器的问题。
1.ie9 上传控件按钮不显示,但仍可点击。
这个问题调试了很久,一直不能找到解决方案,然后有次由于ie的js刷新过慢问题,我在某行加入了alert(1);事件,发现它突然好了,我还以为是我的代码改好了,赶紧把alert(1)删掉之后重新测试,妈呀。又炸锅了。 后面去百度查看了一下,为什么alert()之后才能生效的问题,知道可能是页面元素不能正常初始化,需要一定的时间去进行缓冲。
所以我们必须用setTimeOut()延迟加载。参考地址:http://www.myexception.cn/program/1993524.html
后面又开始慢慢调试找到了
$("#fileToUpload-button").css("opacity","1");就是这行代码,透明度必须在这个控件初始化生成对应的div之后,设置才能正常生效。
2.360浏览器极速模式下,上传302错误无法正常上传情况。
这个问题可能在百度上面有很多答案,我看了下之后,有一个比较合理,我也来讲一下。
360极速模式下,是不随文件发送cookie的,而我们的使用spring的拦截器会去判断cookie的值判断有没有登陆的,所以请求中我们可以去断点查看request的值和cookie的值,你就会发现问题了,所以错误知道在哪了,解决问题就好解决了,改写拦截器,判断是否为上传文件的请求,可以不进行cookie的校验。
参考:http://blog.csdn.net/chunqiuwei/article/details/23464803
暂时说到这吧,希望能和大家一起成长。谢谢