Google chrome 谷歌浏览器-添加到主屏幕-强制刷新

Google chrome 谷歌浏览器-添加到主屏幕-强制刷新,google-chrome,web-applications,progressive-web-apps,Google Chrome,Web Applications,Progressive Web Apps,我有一个启用了“添加到主屏幕”的网站,也就是说,我有一个manifest.json文件,其中包含“display”:“standalone” 我遇到的问题是,当我通过主屏幕快捷方式打开网站时,它将从我上次访问它时恢复。我必须拉刷新,使它获取最新的内容 我的问题是,是否可以让它在每次被访问时都进行刷新?如果您想在web应用程序从“后台”移动到“前台”时在其内部执行特定操作,您可以使用 执行此操作最直接的方法可能是侦听visibilitychange事件,并在检测到当前visibilityState

我有一个启用了“添加到主屏幕”的网站,也就是说,我有一个
manifest.json
文件,其中包含
“display”:“standalone”

我遇到的问题是,当我通过主屏幕快捷方式打开网站时,它将从我上次访问它时恢复。我必须拉刷新,使它获取最新的内容


我的问题是,是否可以让它在每次被访问时都进行刷新?

如果您想在web应用程序从“后台”移动到“前台”时在其内部执行特定操作,您可以使用

执行此操作最直接的方法可能是侦听
visibilitychange
事件,并在检测到当前
visibilityState
已转换为
'visible'
时以编程方式刷新数据源

这可能看起来像:

document.addEventListener('visibilitychange', () => {
  if (document.visibilityState === 'visible') {
    // Your refresh logic goes here.
  }
});

如果您想在web应用程序再次从“后台”移动到“前台”时在其内部执行特定操作,您可以使用

执行此操作最直接的方法可能是侦听
visibilitychange
事件,并在检测到当前
visibilityState
已转换为
'visible'
时以编程方式刷新数据源

这可能看起来像:

document.addEventListener('visibilitychange', () => {
  if (document.visibilityState === 'visible') {
    // Your refresh logic goes here.
  }
});

这是PWA在设计/默认情况下的工作方式。打开时,它会从浏览器缓存中提取并在后台加载更新的代码。下次打开时,它将加载该更新。你说的是通过HTTP调用检索到的数据,还是对网站结构的更改?@Mathias这只是一个用PHP构建的常规网站,也就是说,为了获取刷新页面所需的最新内容。内容是指你更改的应用程序还是应用程序调用的服务中的数据?当你第二次打开它时,它会像我描述的那样更新吗?这就是PWA在设计/默认情况下的工作方式。打开时,它会从浏览器缓存中提取并在后台加载更新的代码。下次打开时,它将加载该更新。你说的是通过HTTP调用检索到的数据,还是对网站结构的更改?@Mathias这只是一个用PHP构建的常规网站,也就是说,为了获取刷新页面所需的最新内容。内容是指你更改的应用程序还是应用程序调用的服务中的数据?在你第二次打开它时,它会像我描述的那样更新吗?这同样适用于iPhone,在最近的iOS更新之后,它会缓存主屏幕web应用程序的状态。每次打开应用程序时都会调用此侦听器。在最近的iOS更新缓存主屏幕web应用程序的状态后,这也适用于iPhone。每次打开应用程序时都会调用此侦听器。