IE11浏览器跳转之巨坑

最近公司上了一个国安局的项目,局方使用的浏览器是IE11,前端使用react+antdesign+umi开发,本来也是支持IE11的框架,既然用户说要固定浏览器,就主要在IE11上测试

最近现场报回来一个BUG,有概率的出现浏览器跳转等待转圈的时间太长的问题,通过抓包等技术手段进行排查,发现现场的浏览器就是发送目标网址的URL地址太慢,而且只有一台电脑能够复现,公司测试的电脑一直无法复现

定位的问题很多

  1. JS代码太卡
  2. 现场网络问题
  3. 样式问题
  4. 等等

还有很多,但是一直写Demo,加日志,都复现不了,查这个BUG用了两天时间,一度我和测试都差点奔溃

最后定位到项目中sessionStorage中有值,而测试的Demo中没有

同时网上还查了window.open函数的执行流程和坑点

步骤如下:

  1. 打开新窗口
  2. 复制sessionStorage到新的窗口
  3. 打开目标url

BUG就出在步骤2上,说到底还是自己对于流程不熟,部分浏览器在执行步骤2的时候会卡顿,所以解决办法是执行完第1步后,清空新打开的窗口的sessionStorage

具体代码如下

let win = window.open()
win.sessionStorage.clear()
win.location.href = redirectURL

可以参考 https://juejin.im/post/5af55b296fb9a07ace58ecc6

另外如果还有安全性问题 可以参考 https://imweb.io/topic/584cd0459be501ba17b10aaa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值