更新manifest.json/site.webmanifest后主题色未变更,如何排查解决?
核对manifest.json配置项
确认修改的是theme_color字段(控制浏览器地址栏/状态栏主题色),而非background_color(仅控制启动屏背景)。同时检查字段名拼写,确保是美式的theme_color,部分浏览器不识别英式拼写theme-colour。检查HTML中的meta主题色标签
很多PWA会在HTML头部添加<meta name="theme-color" content="#xxxxxx">,这个标签的优先级可能高于manifest配置。搜索代码中的<meta name="theme-color",确认是否还保留旧的#9600ff值。排查构建工具生成的静态资源
像Vite、Create React App这类构建工具,可能自动生成启动屏、图标等静态资源,旧主题色可能被嵌入其中。检查项目构建产物(尤其是public目录下的自动生成文件),看是否存在旧颜色残留。验证manifest的加载路径
确认HTML中<link rel="manifest" href="/manifest.json">的路径正确,避免加载到子目录里的旧版本manifest。可通过浏览器开发者工具的Application > Manifest面板,查看当前加载的manifest内容,确认theme_color是你设置的柔和色调。清理浏览器站点数据
即使是新设备,若浏览器曾通过其他渠道加载过旧版本PWA,可能残留缓存。打开开发者工具的Application > Storage,点击Clear site data,重新加载页面后再检查主题色。
内容的提问来源于stack exchange,提问作者MalcolmOcean

