今天在使用之前做的应用系统时发现原来能使用的文件上传今天突然不能使用了,换了浏览器试了下原来是IE8的问题,firefox、chrome倒是没有这种问题,网上查了下原来又是IE8的问题,真是崩溃了。。。
IE8基于安全的考虑,文件上传只允许鼠标的点击触发文件浏览及上传、如果是通过js触发的文件浏览就会导致上传失败(默认的input[type=file]的样式太差,与现有系统不一致,所以大多系统开发时会使用自定义的浏览按钮通过js调用原input[type=file]的onclick或者onchange事件方法来实现)。结果这种方式IE8竟然不支持。。。
解决方法
用input[type=file]的浏览器覆盖与自定义按钮的上层,然后将input[type=file]给改为透明的,这样每次看着点击的是自定义的按钮,而实际上点击的是input[type=file]。注意input[type=file]隐藏不要用display:none 或者visiable:false,应该用滤镜的方式style="filter: Alpha(opacity=0);opacity:10"
时间: 2024-10-29 08:30:59