我在我的项目中使用VueJS和Laravel。这个问题最近开始出现,甚至在旧的git分支中也出现了。

此错误仅在Chrome浏览器中显示。


当前回答

确保您使用了正确的语法。

我们应该在监听sendMessage()方法后使用它。

下面是contentScript.js的一个简单例子,它向app.js发送请求。

contentScript.js

chrome.extension.sendRequest({
    title: 'giveSomeTitle', params: paramsToSend
  }, function(result) { 
    // Do Some action
});

app.js

chrome.extension.onRequest.addListener( function(message, sender, 
 sendResponse) {
  if(message.title === 'giveSomeTitle'){
    // Do some action with message.params
    sendResponse(true);
  }
});

其他回答

Post是相当老的,与Chrome扩展开发没有密切关系,但让它在这里。

我也有同样的问题,在回调回复消息。解决方案是在后台消息侦听器中返回true。

下面是一个关于background.js的简单例子。它响应来自popup.js的任何消息。

chrome.runtime.onMessage.addListener(function(rq, sender, sendResponse) {
    // setTimeout to simulate any callback (even from storage.sync)
    setTimeout(function() {
        sendResponse({status: true});
    }, 1);
    // return true;  // uncomment this line to fix error
});

这里是popup.js,它在popup上发送消息。你会得到异常,直到你在background.js文件中取消注释“return true”行。

document.addEventListener("DOMContentLoaded", () => {
    chrome.extension.sendMessage({action: "ping"}, function(resp) {
        console.log(JSON.stringify(resp));
    });
});

清单。json,以防万一:)注意警报权限部分!

{
  "name": "TestMessages",
  "version": "0.1.0",
  "manifest_version": 2,
  "browser_action": {
    "default_popup": "src/popup.html"
  },
  "background": {
    "scripts": ["src/background.js"],
    "persistent": false
  },
  "permissions": [
    "alarms"
  ]
}

如果错误原因是扩展使用隐式Ctrl+Shift+N。在隐身模式下Chrome没有扩展。

乌利希期刊指南。如果你需要一些隐身模式的扩展,例如ReduxDevTools或其他,在扩展设置中打开“允许隐身模式”

对我来说,我用的是一个叫 免费VPN Chrome - VPN代理VeePN它是导致错误后禁用它只是…错误消失了

此错误通常是由您的Chrome扩展之一引起的。

我建议安装这个一键式扩展禁用器,我使用键盘快捷键COMMAND(⌘)+ SHIFT(⇧)+ D -来快速禁用/启用所有扩展。

一旦扩展被禁用,这个错误消息就会消失。

和平!✌️

这里晚了,但在我的情况下,它是卡巴斯基云保护扩展。我禁用了它。一切都很顺利。