在排查问题的时候火狐浏览器总是自动更新,每个版本问题不一样,导致排查方向出了问题,花费了很长时间。
所以首先第一步,锁定版本,取消自动更新。
浏览器右上角 -> Options -> Advanced -> update- > 选择Never check for updates (not recommended: security risk)
问题一、promise.all 方法不支持
锁定版本后,排查是此版本浏览器不支持promise.all方法,网上有很多解决方案。
解决方案: 使用第三方插件bluebird,该插件对ES6的原生Promise进行了封装,解决了浏览器的兼容问题。
<scriptsrc='https://cdn.jsdelivr.net/bluebird/latest/bluebird.min.js'></script>
可以直接在index.html 引入,以防网络问题,我根据上面的地址把文件下载到本地引入了
问题二、jQuery的Ajax同步页面假死/卡顿
需求:文件传时页面有个loading
其他浏览器正常,但此版本浏览器Input 文件上传后页面一直无响应,最后排查是jQuery的Ajax同步页面假死/卡顿
虽然loading加载方法在Ajax请求前面但还是有影响,看一下另一篇博客的解释
jQuery的Ajax同步页面假死/卡顿 解决办法
根据博客提供的方法试了一下没有成功,可能有其他因素
解决方案: 最后写了一个定时器,在loading加载后500ms 再进行ajax请求解决了