javascript - 如何检测我的网站/PWA 是否已加载到前台?

标签 javascript progressive-web-apps

我有一个用 React 编写的适用于 Ipad 的渐进式 Web 应用程序,我想检测用户在切换到另一个应用程序后何时重新加载该应用程序。当应用程序重新加载时,是否有我可以订阅的浏览器事件或服务 worker 事件?

沿着类似的线索,有没有办法告诉渐进式网络应用程序已被强制关闭并重新打开?

谢谢

最佳答案

您可以使用 visibilitychange event listener检测以前在后台的网络应用程序何时在前台:

document.addEventListener('visibilitychange', function() {
  if (document.visibilityState === 'visible') {
    // Your code here...
  }
});

this post 中有关于页面生命周期 API 的更多信息,但您应该注意,并非 API 中可用的所有状态都在 Safari 中公开。帖子列表some caveats在编写跨多个浏览器的代码时要注意。

关于javascript - 如何检测我的网站/PWA 是否已加载到前台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58272582/

相关文章:

javascript - 关于 DOM 元素的哪些信息可以让 JavaScript 唯一地(某种程度上)识别它? (例如,当它没有 `id` 时)

android - 在启动画面中隐藏 Android PWA 标题

javascript - 如何在 AngularJS 应用程序中使用 Protractor 禁用动画?

javascript - 将 json 文件从 php 打印到 javascript

javascript - PHP 在重试时终止旧脚本执行

mobile-safari - iOS 11.3 中不使用 PWA 图标

web-applications - manifest.json 与 manifest.webmanifest

javascript - 左侧为粘性侧边栏,右侧为可滚动内容的布局

javascript - Service Workers 缓存不更新

android - 如何将 pwa 作为一个部分集成到现有的 android 和 ios 应用程序中?