飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

Google Chrome浏览器点击 input file上传按钮时延迟3-5秒

Author:飘易 Source:飘易
Categories:电脑技术 PostTime:2017-3-28 16:02:30
正 文:

      Google chrome 浏览器在52版本之后出现一个bug,就是点击 input file上传按钮时反应很慢,需要等待3-5秒种之后才能弹出选择文件的对话框。比如

<input id="file1" type="file"  multiple="" accept="image/*">

改成:

<input id="file1" type="file"  multiple="" accept="image/jpeg,image/gif,image/png">

问题解决。


但是飘易还要支持zip、rar、pdf呢!再改成:

<input id="file1" type="file"  multiple="" accept="image/jpeg,image/gif,image/png,application/zip,.rar,application/pdf">

不幸的是延迟弹出的bug再次出现。


网上找到一篇文章:chrome 上传文件 控件,点击的时候会延迟近10S的时间

这个文章里分析出了问题的根本原因:

新版chrome在点击input file时,如果你仅仅上传图片,chrome是不会检查这些图片是否有危害性的,但是如果你的input file支持zip、apk等类型的文件时,chrome会将这些文件的特征信息提交到google的海外服务器进行分析比对,以提醒用户文件安全与否,这本来是一件好事,但是众所周知,google的服务在国内是基本被QIANG了,国内无法访问。


【解决问题】:

chrome设置里去掉“保护您和您的设备不受危险网站的侵害”前面的勾即可

禁止google向海外服务器提交文件的特征信息就可以了。



另外,还有一个以毒攻毒的方法:

可以在点击选择文件时: 
document.getElementById('fileImport').value = null; 
把input的文件置为空,这样点击的时候就不会去请求了! 但是这个方法有一些后遗症,请自行测试。

作者:飘易
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:Laravel下OAuth 2.0与DingoApi的应用
下一篇:Sublime Text添加函数追踪CTags插件
8条评论 “Google Chrome浏览器点击 input file上传按钮时延迟3-5秒”
1 Mr Robot
2017-4-5 12:41:20
excellent 太棒了
2017-6-5 23:51:00
找了一天,网站垃圾回答一堆,唯一一个正确的,太厉害了。麻雀中唯一的一只凤凰就是你了。
3 xiaobang
2017-6-8 22:09:01
太棒了,谁都不服就服你
4 Alex
2017-7-25 20:12:56
太有用了,解决了我很久以来的困扰!
5 arvin
2017-7-27 12:20:13
这个问题纠结了很久,终于解决,非常感谢博主。
6 xx
2017-8-18 10:58:32
谢谢大神,确实是最有用的方法
7 ths
2017-11-10 11:41:02
这个问题终于解决了,非常感谢博主!
8 henery
2017-11-21 15:36:30
方法亲测确实有效,也是目前网上一个比较靠谱的解决方案。但是这种解决方法,是基于用户主动修改浏览器设置的,能不能从根源上解决问题呢?
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2019 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有