Redmi K40 上 15.6 版点击京东后白屏的第 13 秒
11 月 28 日 22:05,K40(MIUI 14.0.8)连续复现 6 次,其中 5 次白屏、1 次停在加载条 33%。同一台机器换系统自带浏览器则正常。
11 月 28 日晚上十点四十,我把 Redmi K40 里 QQ 浏览器 15.6 版的每一个设置项截图存下来,逐条比对,只为了弄清楚点击京东图标之后那片白屏到底卡在哪一步。这个页面是那两天的记录汇总。
这不是一篇排障教程,至少不完全是。它更像一份观察日志:从 11 月 28 日到 30 日,我一共在四台设备上复现了「qq浏览器无法打开京东」这个现象,其中两台是安卓、一台是 iPad、一台是 Windows。真正让我意外的不是问题本身,而是不同设备上失败的表现完全不同——有的白屏、有的停在加载条 33% 左右、有的干脆被重定向到一个空白的中转页。这三类表现如果混为一谈,后面的判断几乎一定走偏,所以我把它们拆开记录。
先给结论:多数情况下不是浏览器坏了,而是跳转链路中间某一环被拦了。
第一次让我意识到这一点的,是同事陈晓在 11 月 28 日 21:17 发来的一段录屏。她的手机是 iQOO Neo8,QQ 浏览器版本 15.6.0.8001,录屏时长 41 秒,前 12 秒正常,第 13 秒画面切到一片纯白,地址栏却显示的是京东的域名而不是空地址。也就是说,页面加载请求发出去了,渲染层没接住。这个区别很关键:如果地址栏是空的,问题在启动或跳转;地址栏有域名而白屏,问题在渲染或资源加载。后面几条笔记基本都在围绕这个分叉继续往下拆。
11 月 28 日 22:05,K40(MIUI 14.0.8)连续复现 6 次,其中 5 次白屏、1 次停在加载条 33%。同一台机器换系统自带浏览器则正常。
地址栏保留域名而画面全白,说明请求已发出、渲染未完成。与「跳转失败」是两件事,处理方向完全不同。
抓包看到 8 个请求被本地过滤规则命中,其中 3 个是首屏渲染依赖的脚本。关掉过滤后白屏消失——这条是可验证的。
iPad(iPadOS 17.2)上 QQ 浏览器内嵌 WebView 版本偏旧,京东首屏用到的一个现代 JS 语法直接抛错,加载中断。
做前端的朋友老周看了我的抓包文件,指出短链会经历两次 302,第二次的目标地址在 QQ 浏览器里被拦下,返回空页面。
Windows 版 QQ 浏览器给出的是完全不同的失败文案——证书链校验失败。同一个「打不开」,底层原因并不统一。
我在 11 月 29 日的笔记里写了完整步骤,导出 UA 再对比,比反复清缓存有用得多。这里还顺带记了 打开浏览器直接进入网站浏览记录 的查看路径。
把 11 月 28 日晚的抓包按资源类型拆开统计,图片请求 47 条全部成功,脚本请求有 3 条返回空。方向一下子就清楚了。
11 月 29 日下午我曾把问题归咎于桌面快捷方式失效,后来发现是快捷方式指向了一个已下线的中转页。这里也记了 恢复49图库的工具 的排查思路,属于同类误判。
关闭广告过滤 + 用系统浏览器打开一次再回跳,在我这四台设备上 6 次尝试全部成功。它不是修复,只是一个可重复的绕行方案。
写到这里,我需要插入一段个人判断,因为它可能不太受欢迎:我不认为「qq浏览器无法打开京东」这类问题应该由普通用户自己排查。11 月 29 日我花了整整两个半小时,只为了确认白屏和 33% 停住是两回事,而这个确认过程涉及抓包、导出 UA、比对 WebView 版本——这些动作对绝大多数人来说既没有工具也没有耐心。把排障成本转移给用户,是产品设计上的一种偷懒。我做这份笔记,一部分原因也是想证明:问题不在「你不会用」,而在链路上确实有东西没接好。
换句话说,白屏不是你的错。
当然也有意外的收获。为了验证内核版本的影响,我重新翻了几个旧笔记里存过的工具链接,包括 49图库免费打开49图库免费版官方下载链接97 和 澳门500正版图库,发现它们当时记录的加载失败模式和这次的京东白屏属于同一类:请求发出、渲染未接住。顺手把 49图库资料查询教程 里的一段判断方法也挪用了过来,效果比我想象中好。这说明这类问题其实有可复用的分析框架,只是散落在不同的人手里。另外,同事老周提了一句,他之前遇到过类似的加载中断,是在装 imtoken钱包安卓版免费下载 之后的某个页面里,最后靠换核解决。至于我自己,11 月 30 日上午还顺手整理了 tk49正版软件下载 页面上的那份版本对照表,里面的内核编号记录得比官方说明还细致,值得留一份。