问题背景描述:
网站在放置很久没有打开,中间没有清过缓存、cookie,再次刷新打开页面,出现无限不断重新刷新页面的问题。而清除浏览器缓存后,问题会被解决。
问题解决思路:
由于大家遇到的问题是各不相同,所以记录下解决问题的思路,希望对同陷问题漩涡的伙伴们有所启发。
- 排查一:
先观察页面,确定了页面是在不同重新大刷新,由此猜测,很可能是代码中有一直调用window.location.reload()
导致。
由此在项目中全局搜索reload()
关键字,逐个分析逻辑。
- 排查二:
在开发者工具中,看network
,确认接口是否都是正常返回。
小技巧:
由于页面一直不断刷新,根本来不及去看开发者工具中相关各种信息,更无法直接调试。
可以将network
中的Online
设置成slow 3G
,或者custom一个更慢的网速。
- 排查三:
由于问题出现一个场景是长期未操作再次打开的偶现bug,所以猜测出现问题的代码与设置浏览器本地缓存、cookie 有关系。
小技巧:
此时,必不可少需要查看开发者工具中,Application
- Storage
/ Cache
中相关浏览器存储的值,辅助排查问题。
问题原因:
分享一下最终原因,是由于项目在国际化后,设置的一个cookie
值没有赋值成功,在其项目逻辑下,就不断调用window.location.reload()
,致使页面不断刷新。
而cookie
没有赋值问题,可以参考另一篇cookie笔记blog