代码之家  ›  专栏  ›  技术社区  ›  Anshu Chimala

在卸载之前,是否等待消息在window.on中发送?

  •  2
  • Anshu Chimala  · 技术社区  · 14 年前

    我正在处理Safari扩展,我希望我的扩展能够响应用户打开或关闭选项卡的操作。

    我有一个扩展插件,它插入一个脚本,当新选项卡打开时运行,并通知全局页面有一个新选项卡打开。我希望脚本在选项卡关闭时也通知全局页。为此,我让注入的脚本设置 window.onbeforeunload 要调用的函数 safari.self.tab.dispatchMessage . 这是可行的,但问题是在消息通过之前,选项卡关闭,javascript被杀死。例如,如果 alert dispatchMessage 为了防止标签在用户单击“确定”之前关闭,消息会很好地传递,但这显然不是一个很好的用户体验。

    在标签关闭之前,是否有一种方法可以争取一些额外的时间,或者是否有更好的函数可以覆盖这个或什么?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Community paulsm4    7 年前

    问题是所有消息都保存一条( canLoad )是异步的。国际海事组织 CAN负载 它本身有点黑客,但由于某种原因,当我迫切需要同步消息时,我已经有效地使用了它。我问了一个 analogous question 前一段时间可能有助于说明 CAN负载 解决方案。