为什么某些浏览器点击下载后没反应?
原创 未经同意,请勿转载路径:常见问题 - 《为什么某些浏览器点击下载后没反应?》有用户反馈:下载多零的文件,经常很久都没有反应。多零程序猿排查后,分析结果以下。
原因是浏览器安全机制干扰。
浏览器(例如Edge、Firefox)在文件下载完成后,会自动扫描分析文件特征,检测文件是否存在风险,此过程可能需要连接到浏览器的远程服务器。看起来似乎并没有什么问题,但是扫描检测和访问远程服务器都需要时间。因此问题就在于文件下载完成后,浏览器文件扫描检测时间较长,但又没有给用户足够、明显的提示而导致用户认为下载没有反应。
那为什么Chrome浏览器下载会畅通无阻?
其实Chrome浏览器也一样,会检测扫描文件特征,但Chrome浏览器会有足够的下载提示,会在下载开始时就弹出下载提示框,而其他一些浏览器则是在下载完成后才弹出明显的提示信息,如果下载中途出现网络阻塞,就一直没有提示。
Chrome浏览器的下载提示: 下载开始时,就弹出提示。
Firefox浏览器的下载提示: 下载完成后,只是在右上角显示一点,如果没有留意到,就会有“下载没有反应”的感觉。
Edge浏览器更严重 下载时,Edge浏览器连右上角一点都没有,直到文件特征完成验证后才弹出提示,耗时时间长短不一,多零程序猿试过超过3分钟也没有下载提示。
另外,某些版本的Firefox浏览器,在上面提到的“没有反应”过程中,就先保存一个空文件,对用户来说容易误以为文件已经下载完成,但点击打开则会报错。
例如,多零程序猿在测试过程中就遇到过,导出下载PDF文件,在Firefox浏览器还没有提示下载完成之前,就点击打开空文件,提示“格式错误”。但在等待片刻后,下载完成后,再点击打开,就能正常显示文件了。
由此可见,某些浏览器虽然是主流,但也并非十全十美。
极有可能上面提到的浏览器会在以后的版本中优化此问题,到时此问题就不再存在。
-------------------
还有一种原因是由于浏览器版本比较旧,或者安全限制设置过高,主动拦截网页自动弹出下载,导致用户点击下载导出按钮后,没有反应。
对于这种情况,多零程序猿建议,尽量使用主流较新版本的浏览器。