当前位置: 代码迷 >> JavaScript >> PWA Chrome 取消 window.close() 没有警告消息或默认消息
  详细解决方案

PWA Chrome 取消 window.close() 没有警告消息或默认消息

热度:95   发布时间:2023-06-05 09:34:34.0

您好,我们有一个关于 PWA 和 window.close 事件的问题,

在问这个问题之前,我们首先会提供一些背景信息,为什么我们要问这个问题。

我们正在尝试使用 webcomponents 和 PWA 将我们的 XUL 应用程序重建为 HTML5 应用程序。 在这个 XUL 应用程序中,有很多带有自己子窗口的弹出窗口,用户不应该在关闭父窗口的同时仍然在子窗口中编辑数据。 这个问题在window对象上使用beforeunload事件就解决了。 您无法真正自定义此事件行为的一个小问题,用户只会收到数据丢失的默认消息。自定义消息行为不再可用,因为该行为自 chrome 51 以来已过时。

到目前为止,我们试图解决的问题的背景。

问题是,PWA manifest.json 中是否没有任何设置,因此您可以要求在首次安装和运行 PWA 时更改用户权限设置。 当这种情况发生时,用户将被要求允许 window.close 事件被取消。 执行此操作时,用户在卸载警报弹出窗口之前确认自定义或无。 只有将 PWA 安装到用户桌面时,才会激活此行为。

希望这是或将是一个选择。

不,webapp 清单中没有权限定义。

(不过 chrome 扩展也有类似的东西)

根据定义,PWA 应该作为本机应用程序运行,因此如果您将软件重写为 PWA,您应该重新建模您的应用程序逻辑,以便它将应用程序的最后状态存储在 localStorage/indexedDB 或类似位置,并在启动时读取它这将强制用户保持在您需要的状态。 没有人应该强迫用户在他们不想要的时候让应用程序保持打开状态。

  相关解决方案