我正在处理Safari扩展,我希望我的扩展能够响应用户打开或关闭选项卡的操作。
我有一个扩展插件,它插入一个脚本,当新选项卡打开时运行,并通知全局页面有一个新选项卡打开。我希望脚本在选项卡关闭时也通知全局页。为此,我让注入的脚本设置
window.onbeforeunload
要调用的函数
safari.self.tab.dispatchMessage
. 这是可行的,但问题是在消息通过之前,选项卡关闭,javascript被杀死。例如,如果
alert
后
dispatchMessage
为了防止标签在用户单击“确定”之前关闭,消息会很好地传递,但这显然不是一个很好的用户体验。
在标签关闭之前,是否有一种方法可以争取一些额外的时间,或者是否有更好的函数可以覆盖这个或什么?