Javascript 在事件页中的扩展更新时更新存储架构
我有一种方法可以在扩展更新时更改localStorage字符串的格式 问题更多的是在中的何处执行该方法。 该方法必须在更新时运行,否则整个扩展将不再工作 现在我把它放在这里:Javascript 在事件页中的扩展更新时更新存储架构,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我有一种方法可以在扩展更新时更改localStorage字符串的格式 问题更多的是在中的何处执行该方法。 该方法必须在更新时运行,否则整个扩展将不再工作 现在我把它放在这里: chrome.runtime.onInstalled.addListener(function(runInfo) { if (runInfo.reason=="install") { } if (runInfo.reason=="update") { //HERE!! }
chrome.runtime.onInstalled.addListener(function(runInfo) {
if (runInfo.reason=="install") {
}
if (runInfo.reason=="update") {
//HERE!!
}
});
它在扩展更新时执行良好,这就是我想要的
但是,如果在更新发生时禁用了扩展,它似乎根本不会运行
然后,当再次启用扩展时,用户将认为它是一个bug
我希望有一个chrome.runtime.onEnabled,但没有这样的事件
有chrome.management.onEnabled,但我不希望事件页面因其他扩展的启用/禁用而唤醒
考虑在每次事件页面唤醒时运行该方法,方法是将其放入window.addEventListenerload,此处;,但我担心每次运行它都可能会减慢触发事件页面的实际工作
有什么建议吗?
任何开发人员现在都有更好的使用方法吗?将其放在背景页面有什么不对?我想它会在每次更新/启用/重新启动浏览器时运行..没有问题。它当前位于非持久性后台页面事件页面中。只是在当前位置,当扩展被禁用时,它不会运行,并且在扩展被启用后它不会拾取并运行它。如果您将它放在onInstalled之外,它会运行吗?然后你可以检查版本号,看看它是否被这样的东西更新了。我不确定我是否完全看到了你的问题,但是如果这有帮助的话,最后一个链接中有一条注释,它比内容本身chrome.app.getDetails容易得多。version@judgeja那篇文章是4年前写的。现在,您应该使用chrome.runtime.getManifest.version获得扩展版本。