IE type=file上传文件浏览弹窗问题

来源:互联网 发布:零基础学plc编程 编辑:程序博客网 时间:2024/05/16 04:50

今天碰到一个问题,IE上传文件浏览不能弹窗。

原因与内嵌的框架相关(内部框架),导致不能正常弹出选择文件的窗口。


刚开始查找了很多相关IE上传文件问题,但基本没有出现这种弹窗问题,基本都是可以弹窗,但上传不了。

自己做了个简单的<input type="file" value=“test” />在IE各个版本测试,完全没有问题,证实了与本身代码无关,主要是框架与浏览器的兼容性不怎么好。


出现的现象:打开WebDevelper,在Event log 下查看,触发了事件,居然时而可弹窗,时而不可弹窗,未果。只能另找方法。


在网上也看了其他的各种方法,其中障眼法最可以解决。就是用一个a标签套住input标签,点击a标签从而触发点击input弹窗标签,再做一下样式修改即可。


虽然解决了弹窗问题,可是居然上传功能也就跟着失效了,报了“拒绝访问”错误。查了原因,结果得到的答案是:

“IE下 file必须用户触发事件(安全机制,不能用js控制打开文件选择器),选择上传文件。不然就是报拒绝访问。”
继续寻找解决方法:

http://www.qttc.net/201305334.html

http://blog.csdn.net/jetxt/article/details/12953397


解决方案是让file标签盖在a标签上,但file是透明的,这样用户看到的是a标签的外观,实际点击是file标签。


顺便也发了帖询问是否可以屏蔽这个安全机制,未果。(有人答:file reader可以解决,后面找到框架与IE中file兼容的原因而没继续研究下去。)


1 2
原创粉丝点击