Chrome 扩展程序在一段时间后停止工作.响应未定义



我有一个带有chrome扩展名的奇怪错误,它应该在内容脚本和背景页面之间进行通信。它似乎工作了一段时间,但突然停止工作。使其再次工作的唯一方法是卸载扩展并重新安装。这既发生在 chrome 商店中的版本,也适用于我的本地开发者版本。(重新加载开发人员版本并不能解决问题。

相关部分是:

chrome.pageAction.onClicked.addListener(function (tab) {
    chrome.tabs.sendMessage(tab.id, {greeting: "hello"}, function(response) {
        //response is undefined at this point
    });
});

我从检查页面中看到内容脚本确实注入到相关页面中,但侦听器中的代码从未运行:

chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
  //never runs this code
});

您可以在此处找到已安装的版本:https://chrome.google.com/webstore/detail/hi-res-cover-art-grabber/oiagpaldkopdbolnebgjlmihmejjkaji完整的源代码在这里:https://github.com/MrMamen/CoverGrabber/tree/master/chrome

background.js中的所有 JavaScript 都处于一个 chrome.runtime.onInstalled.addListener 事件中,该事件仅在安装和更新时被调用,因此当您重新打开浏览器时不会调用它。

你需要确保在此之外注册事件,

否则扩展将仅在卸载并重新安装扩展时注册事件,如前所述。

最新更新