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

时间:2019-02-21 11:45:13

标签: javascript html5 progressive-web-apps

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

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

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

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

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

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

2 个答案:

答案 0 :(得分:0)

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

(尽管chrome扩展名有些相似)

答案 1 :(得分:0)

根据定义,PWA应该表现为本地应用程序,因此,如果您将软件重写为PWA,则应该重新建模应用程序逻辑,以便将应用程序的最后状态存储在localStorage / indexedDB或类似文件上并读取在启动时执行此操作,这将迫使用户停留在您需要的状态。没有人应该强迫用户不要在不需要的时候打开应用程序。