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