对于我的chrome和firefox扩展,我需要一种方法来确定后台脚本是否已卸载或正在卸载。发生这种情况时会发生事件吗?我在stackoverflow上经历了多个链接,甚至还有一些官方的铬虫链接,但找不到具体的答案。后台脚本不支持beforeunload,关闭窗口不保证浏览器关闭,因为如果扩展具有“后台”权限,后台脚本仍将在后台运行。我现在能做什么?
答案 0 :(得分:2)
最接近的是chrome.runtime.onSuspend
,但无法保证在上下文关闭之前允许多长时间。 请注意,到目前为止,WebExtensions尚不支持此功能。文档明确指出:
在卸载之前发送到事件页面。这为扩展提供了一些清理的机会。请注意,由于页面正在卸载,在处理此事件时启动的任何异步操作都无法保证完成。
一般情况下,您无法在事件/后台页面卸载上做太多工作,并且应该使您的代码能够突然卸载。这个事件甚至可能不会触发一些停机。