【问题标题】:Can a google chrome app be prevented from closing?可以防止谷歌浏览器应用程序关闭吗?
【发布时间】:2016-07-14 11:21:37
【问题描述】:

我在 google 的文档中看不到任何内容来说明如何防止用户关闭 chrome 应用程序。有没有人想出一种方法来实现这一点?我认为文档中有关于 onSuspend 事件的线索。它说 - 在收到 onSuspend 后,不会再向应用传递任何事件,除非由于某种原因暂停中止。

如何中止暂停?

【问题讨论】:

  • @wOxxOm 这似乎是信息亭应用的合理要求。
  • onSuspend 与关闭所有窗口后关闭应用程序的后台页面有关。我假设您希望保持应用程序的窗口打开?
  • @Xan 是的,我确实想这样做。我想拦截应用关闭过程并停止它。
  • frameless app window 和拦截可能关闭窗口的键盘快捷键怎么样?
  • @wOxxOm 从任务管理器结束进程怎么样?

标签: google-chrome-app


【解决方案1】:

某些事件可以触发 onSuspendCancel。我发现对任何 URL 创建一个新的 XMLHttpRequest 都可以解决问题。你也可以调用 chrome.runtime.reload 让应用重新启动。

一般来说,不需要阻止后台页面暂停,因为它可以被持久监听套接字、运行时消息或谷歌云消息等唤醒。

如果你只是想阻止用户关闭一个应用程序窗口,除了实现你自己的自定义应用程序窗口框架和拦截例如 control-w 之外,没有其他办法。您只需将您的工作或应用程序状态保存在窗口上下文之外(这样做应该不会太难),这样即使窗口意外关闭,您仍然可以拥有它。

【讨论】:

  • 我接受了这个答案,因为它说“某些事件”触发 onSuspendCancel 并且一位同事也发现了这一点。如果谷歌正确记录了这一点,那就太好了。我想知道所有这些事件是什么。
  • 我也想知道这个。有一些文档说当没有挂起的回调等时会触发 onSuspend。但我发现尽管有挂起的回调等,仍会触发 onSuspend。很明显还有其他条件(例如 RAM 不足?)触发 onSuspend。 XHR 是我知道如何触发 onSuspendCancel 的唯一方法,我尝试了一些不同的方法。
  • 您可能对此感兴趣。 stackoverflow.com/questions/38372469/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-19
相关资源
最近更新 更多