Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome extension在一段时间后停止工作。响应未定义_Javascript_Google Chrome_Google Chrome Extension - Fatal编程技术网

Javascript Chrome extension在一段时间后停止工作。响应未定义

Javascript Chrome extension在一段时间后停止工作。响应未定义,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我有一个带有chrome扩展的奇怪bug,它应该在内容脚本和背景页面之间进行通信。它似乎工作了一段时间,但突然停止工作。让它重新工作的唯一方法是卸载扩展并重新安装。chrome商店上的版本和我的本地开发者版本都会发生这种情况。(重新加载开发人员版本不会解决此问题。) 有关部分是: chrome.pageAction.onClicked.addListener(function (tab) { chrome.tabs.sendMessage(tab.id, {greeting: "hell

我有一个带有chrome扩展的奇怪bug,它应该在内容脚本和背景页面之间进行通信。它似乎工作了一段时间,但突然停止工作。让它重新工作的唯一方法是卸载扩展并重新安装。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
});
您可以在此处找到已安装的版本: 完整的源代码如下:
您的
background.js
中的所有JavaScript都处于
chrome.runtime.onInstalled.addListener
事件中,该事件仅在安装和更新时被调用,因此在重新打开浏览器时不会被调用


您需要确保在此之外注册您的事件,否则您的扩展只会在您卸载并重新安装扩展时注册这些事件。

重新加载内容脚本插入到帮助中的页面会吗?这种情况多久发生一次?不看源代码-内容脚本是如何注入的?重新加载没有帮助。但我确实需要在卸载/安装后重新加载。我刚刚意识到,每次我关闭浏览器时,它似乎都会崩溃。错误可能在初始化中?