问题背景描述:
网站在放置很久没有打开,中间没有清过缓存、cookie,再次刷新打开页面,出现无限不断重新刷新页面的问题。而清除浏览器缓存后,问题会被解决。
问题解决思路:
由于大家遇到的问题是各不相同,所以记录下解决问题的思路,希望对同陷问题漩涡的伙伴们有所启发。
- 排查一:
先观察页面,确定了页面是在不同重新大刷新,由此猜测,很可能是代码中有一直调用window.location.reload()导致。
由此在项目中全局搜索reload()关键字,逐个分析逻辑。
- 排查二:
在开发者工具中,看network,确认接口是否都是正常返回。
小技巧:
由于页面一直不断刷新,根本来不及去看开发者工具中相关各种信息,更无法直接调试。
可以将network中的Online设置成slow 3G,或者custom一个更慢的网速。

- 排查三:
由于问题出现一个场景是长期未操作再次打开的偶现bug,所以猜测出现问题的代码与设置浏览器本地缓存、cookie 有关系。
小技巧:
此时,必不可少需要查看开发者工具中,Application - Storage / Cache 中相关浏览器存储的值,辅助排查问题。

问题原因:
分享一下最终原因,是由于项目在国际化后,设置的一个cookie值没有赋值成功,在其项目逻辑下,就不断调用window.location.reload(),致使页面不断刷新。
而cookie没有赋值问题,可以参考另一篇cookie笔记blog
本文针对网站长时间未操作后出现的无限刷新问题进行了详细的故障排查与解决方案分享。通过全局搜索reload()关键字、检查网络请求及分析浏览器缓存,最终定位到国际化设置中的cookie赋值失败为问题根源。
695

被折叠的 条评论
为什么被折叠?



