在Chrome关闭之前执行操作

时间:2018-03-06 12:07:44

标签: javascript google-chrome google-chrome-extension

我正在处理Chrome扩展程序,需要在Chrome关闭之前执行操作。是否有任何类似chrome.window.onClose.addListener(...)chrome.runtime.onClose.addListener(...)的方法可以确保完成某些操作然后Chrome会自行关闭?

我已经在这个问题上苦苦挣扎了两个星期。以下是我发现的潜在解决方案的选项,但它们并不起作用。

我的调查结果:

  1. 使用功能:chrome.runtime.onSuspend.addListener(...) - 我不知道为什么,但它对我来说根本不起作用。例如,我尝试为此事件编写回调函数,该函数尝试将硬编码数据添加到索引数据库,但它不会添加它。此方法的描述甚至表示不能保证回调完成。 OnSuspend documentation
  2.   

    在卸载之前发送到事件页面。这为扩展提供了一些清理的机会。请注意,由于页面正在卸载,因此无法保证在处理此事件时启动任何异步操作。

    1. Chrome在后台运行 - 使用此选项我的扩展程序似乎可以正常工作,但是...仅在Windows 10之前的Windows上运行。我检查了几个选项,而在我的其他计算机上,它有Windows安装了7个,连接到Chrome的进程关闭速度更慢,这为我的扩展程序提供了执行必要任务的时间。不幸的是,Windows 10可以更快地杀死所有进程。我已经检查选项" 在Google Chrome关闭时继续运行后台应用"但它并没有改变任何内容。我还启用了标记" #enable-push-api-background-mode ",它也没有帮助。 Keep Chrome running in the background on Win10Enable flag to keep Chrome processes running

    2. chrome.app.window.current().onClosed - 我在Stack Overflow上发现了类似的问题,其中一个答案是上面提到的代码。问题是当我尝试在控制台中键入chrome.app.win...时,它不会在后台脚本和内容脚本中显示任何建议。 Google的文档未提及我在manifest.json中添加的任何权限,以便能够访问此功能。Stack Overflow similar questionGoogle's documentation about chrome.app

      < / LI>
    3. 在网络浏览器中构建方法 - 我认为方法window.onclose在我的案例中可能很有用。我已经执行了与chrome.runtime.onSuspend相同的测试,但结果完全相同。 Documentation

    4. 我已经陷入困境,并且无法知道如何解决我的问题。也许我错过了重要的事情?希望你能帮助我。

0 个答案:

没有答案