input=file
我知道这样的拒绝访问是input=file的一个老毛病
解决思路是这样子的:
1、首先把input=file做成透明来隐藏
2、要明确一点:用其它按钮的click时间来触发input=file时间是不可能的,一定会拒绝访问
3、input=file必须被主动触发,而不是由Js函数来被动click
4、唯一的办法:点击你的submit按钮,而实际上点的是input=file的按钮
5、所以要用Js控制透明之后的input=file绝对位置
6、曾经的一个做法是,当鼠标进入submit按钮区域,就把input=file动态的移动到submit的位置,相当于有个透明层位于submit上方
7、此时点击submit首先影响的是把它给挡住的input=file,然后再发生自己的点击事件,这样就属于主动点击input=file的按钮
8、需要注意的是隐藏和坐标计算,包括焦点处理都得要妥善完成,你可以先用半透明调整好位置
因为微软出于安全方面的考虑,只有当鼠标真正单击在上传控件的按钮上浏览到的文件才可以上传(否则,只要你进入我的页面,我就可以随心所欲的得到你的私密文件)。
解决方法:
https://github.com/yize/input
http://bbs.csdn.net/topics/280017639
input=file必须被主动触发,而不是由Js函数来被动click
标签:无