阻止或延迟Chrome扩展程序的自动更新。 onUpdateAvailable不起作用

时间:2016-06-10 14:17:41

标签: google-chrome google-chrome-extension

我有一个Chrome扩展程序,可以在标签页中打开自己的html页面(即网址为chrome-extension://extension-id/myPage.html)。更新扩展程序时,这些选项卡都会自动关闭,我想阻止这些。

我发现处理这个问题的唯一建议是使用runtime.onUpdateAvailable和/或runtime.onSuspend。但在我的测试案例中,它们都没有运行!

我在Chrome网上应用店中有一个私人测试用例扩展程序,因此它正在使用正常的更新过程。安装或更新扩展时,runtime.onInstalled将清单版本号保存在本地存储中。 browserAction按钮打开一个新选项卡,并将本地存储的内容打印到后台页面的控制台。

onUpdateAvailable代码是一个跟随,我对onSuspend有类似的东西:

chrome.runtime.onUpdateAvailable.addListener(function(details) {
  chrome.tabs.query({}, function(tabs) {
    chrome.storage.local.set({
      ouaTabs: tabs,
      ouaTabVer: chrome.runtime.getManifest().version
    });
  });
  chrome.storage.local.set({onUpdateAvailable: chrome.runtime.getManifest().version});
});

当我打印本地存储的内容时,我看到的是安装和更新细节。没有显示onUpdateAvailable或onSuspend。

查看onUpdateAvailable的文档,也许我不应该感到惊讶:

“更新可用时触发,但由于应用当前正在运行,因此未立即安装。” https://developer.chrome.com/extensions/runtime#event-onUpdateAvailable

显然,立即安装了更新,这就是问题所在!但人们说这是正确使用的功能。所以问题是......扩展需要做什么才能让Chrome认为它“正在运行”或是否有另一种方法来中断自动更新?

0 个答案:

没有答案