2019年夏天,我在一台Windows 7的旧笔记本上第一次碰到这个页面卡死。七年过去,它还在那里。
2019年7月12日,下午三点。我坐在劲松一间没有空调的出租屋里,屏幕上那个查询表卡在加载动画上,转了十一分钟。旁边放着一杯冰可乐,冰块全化了。我按下F5,页面刷新,白屏,接着是浏览器崩溃提示。那台笔记本是联想G470,2011年买的,内存加到4个G。我盯着屏幕看了很久,然后打开记事本,开始逐条记录。
第一步,判断是网络问题还是页面问题。我打开命令行,ping了一下目标域名,延迟正常。用curl抓取页面源码,返回200。但源码里有一段脚本加载失败,地址指向一个已经不存在的CDN节点。这意味着页面本身有引用依赖,那个依赖挂了,查询表就永远转圈。这个细节很少有人提:很多人以为是论坛锁了IP,其实只是第三方脚本超时。我花了四十分钟才确认这一点,中间重启了两次路由器,拨号上网的猫灯闪得让人心烦。
第二步,换浏览器。我当时装了三个:Chrome 68、Firefox 57、还有系统自带的IE 11。IE打开后直接弹出一个ActiveX控件提示,点允许,页面渲染出来了,但表格是空的。Chrome里用开发者工具打开Network面板,发现一个叫“dataLoader.js”的文件返回404。我手动把它的路径从https改成http,重新加载,表格出现了。那一刻我靠在椅背上,觉得这事有点荒唐。一个协议头的区别,卡住了整整一个下午。后来我把这个方法写在论坛帖子里,有人留言说“我也试了,真的行”,也有人骂我胡扯。无所谓,能帮一个是一个。
第三步,关于账号状态。管家婆27792论坛的资料查询表在未登录状态下可以预览前三页,翻到第四页会跳转到一个登录页。但那个登录页有时候加载不出来,用户就以为表格打不开。我以前也掉进这个坑里。2020年3月,我帮一个叫老魏的朋友看他的电脑,他坚持说“网站挂了”,我登录他的账号一看,页面好得很。他把浏览器的自动填写密码关了,自己又忘了密码。后来他重置密码,问题解决。这件事让我明白,至少三成的“打不开”跟账号有关,跟网站本身没太大关系。
第四步,清缓存。这听起来像废话,但缓存有时候真的会卡住查询表。我手里有一台旧的iPad mini 2,2017年买的,一直用来查资料。去年秋天,查询表在Safari上一直显示旧数据,点查询按钮没反应。我进设置里清掉Safari缓存,重启,数据刷新了。后来我养成一个习惯:每次查完重要数据,顺手清一次缓存。花不了十秒钟,省掉很多麻烦。
第五步,检查浏览器扩展。2021年冬天,一个用户发邮件问我,为什么他电脑上查询表始终是空白。我让他截图,发现他装了一个翻译扩展,自动把页面元素重排了。关掉扩展,表格恢复。这类问题不常见,但一旦碰上,非常难排查。我的建议是,遇到打不开的情况,先开一个无痕窗口。无痕窗口默认禁用大部分扩展,如果能打开,问题就在扩展上。
第六步,也是最笨的办法:等。有些时候,就是论坛服务器在维护。2023年6月的一个周末,查询表整整挂了六个小时。我打了五次刷新,最后在论坛的公告区看到一条凌晨两点的通知:“数据库升级,预计六小时。”没置顶,没弹窗,就一行小字。我后来想,如果我是管理员,我会把这条通知做成红色横幅放在所有页面顶部。但话说回来,这站子是个人在维护,不能要求太多。我也见过凌晨四点管理员在线回帖,一个一个解释。这年头,还能这样做事的人不多了。
关于这个话题,我有一句不太中听的话:很多教程教人换DNS、改hosts、重启路由器,其实是在浪费时间。先确认页面本身是否正常返回,再往下查。顺序错了,做多少都是白做。
我叫陈默,写代码的,也写点东西。
2015年开始用这个论坛查资料,中间断过两年,后来又回来。回来的时候发现很多人卡在同样的问题上,跟我当年一模一样。
这个站是我自己搭的,没有广告,没有弹窗,就是一台便宜的VPS。我把自己踩过的坑写下来,一条一条列清楚。不保证全对,但每一条都是真的。
我不常更新,想起来了就写一篇。
“页面打不开的时候,先看看是不是你自己把钥匙扔了。”——老魏,2020年3月,在他家客厅