我将start_url设置为/mysite
。现在我已更新清单,将start_url设置为/mysite?tracking=ga
,以便从应用查看安装。
不管怎样,我这辈子都不知道怎么强制下载新的应用程序,应用程序仍然指向旧的start_url
。我知道如何更新服务工作器,从而缓存API或任何其他缓存,但没有可靠的方法来强制刷新manifest.json
,从而强制下载新的apk。即使我删除apk并通过“添加到主屏幕”它指向旧的'start_url.我的理解是每个清单需要一个新的apk.
- 更新:做了多个测试,我更新了清单theme_color,唯一能看到变化的方法是卸载应用程序并完全清除Chrome缓存和数据,然后通过“添加到主屏幕”提示重新安装。
5条答案
按热度按时间wpcxdonn1#
参考此link。
引用链接,
桌面Chrome更新
当PWA启动或在浏览器标签页中打开时,Chrome会确定上次检查本地清单更改的时间。如果自浏览器上次启动后未检查清单,或在过去24小时内未检查清单,Chrome将发出网络请求以获取清单,然后将其与本地副本进行比较。
如果清单中的某些属性发生了更改(请参阅下面的列表),Chrome会将新清单排队,并在所有窗口关闭后进行安装。安装完成后,新清单中的所有字段(名称、short_name、start_url和图标除外)都会更新。
哪些属性将触发更新?
display
scope
shortcuts
theme_color
file_handlers
更新Android版Chrome浏览器
当PWA启动时,Chrome会确定上次检查本地清单是否有更改的时间。如果清单在过去24小时内没有被检查,Chrome会安排一个网络请求来获取清单,然后将其与本地副本进行比较。
如果清单中的选定属性已更改(见下表),Chrome会将新清单排队,在PWA的所有窗口关闭、设备插入并连接到WiFi后,Chrome会向服务器请求更新的WebAPK。更新后,将使用新清单中的所有字段。
哪些属性将触发更新?
background_color
display
orientation
scope
shortcuts
start_url
web_share_target
在大多数情况下,更改应在清单更新后PWA启动的一两天内反映出来。
a2mppw5e2#
快速简单
首先在网站上找到
manifest.json
文件,例如domain.com/manifest.json
。然后进行硬刷新(在PC上按ctrl
和refresh
按钮)。我不能100%确定它是否能在已经安装的WebApp上工作,但理论上它应该能在所有设备上已经安装的WebApp上工作。
htzpubme3#
我已经做了一些测试,包括(1)卸载当前的PWA,(2)清除浏览器数据和缓存,(3)重新安装PWA,这似乎已经强迫刷新。然而,当然这只是为了测试的目的-我想你不可能指示你的所有应用程序用户都这样做。
除了通过文档链接给出的答案外,我想强调的是,在Chrome 75及更早版本上,WebAPK更新间隔为3天。在Chrome 76(2019年7月)及更高版本上,更新间隔缩短为1天。当计时器到期时,应用程序将检查
manifest
是否需要更新-这将在应用程序启动时完成。以下是更新的原因:
9jyewag04#
用
Ctrl+F5
硬刷新清单文件,然后清除应用程序存储对我来说确实起到了作用。omvjsjqw5#
变更
<link rel="manifest" href="manifest.json">
收件人:
<link rel="manifest" href="manifest.json?v=2">
在你网站页面的头文件中。
这将替换新清单文件的缓存。