{
"start_url": "/?source=homescreen",
"scope": "/",
"display": "standalone"
}
添加到主屏后点开,顶部仍有一条带网址的地址栏,页面高度比设计稿少了六十多像素,跟普通标签页看不出区别。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。
原因不复杂,start_url 指向了另一个域名,安装器判定为跨源启动,只能按浏览器标签打开,display 设置被忽略。scope 和 start_url 不在同一路径下也会出现同样的情况。
这次卡住的地方就在「standalone 地址栏」这一环,单独把它拎出来验证,别和其他改动混在同一次发布里。改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。
验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。
处理上按这个顺序:把 start_url 改成与 manifest 同源的相对路径,指向首页或带来源参数的地址;scope 设成斜杠,确保整个站点都在作用域内;重新安装一次,旧快捷方式的配置不会自动刷新。
改完只确认一件事:删除旧图标后重新添加,打开时没有地址栏,页面占满整屏,状态栏颜色跟随 theme_color。
