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

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


当前回答

在我的例子中,它是在我自己的页面源代码中设置的断点。如果我删除或禁用断点,则错误将清除。

断点位于一个相当复杂的呈现代码块中。页面不同部分的其他断点没有这种效果。我无法找出总是触发此错误的简单测试用例。

其他回答

如果你是一个扩展开发人员,你在谷歌上搜索了一下,试图停止引起这个错误:

问题不是CORB(正如这里的另一个答案所述),因为阻塞的CORs显示为警告,如-

跨源读阻塞(CORB)用于阻塞跨源响应 https://www.example.com/example.html与MIME类型文本/html。看到 https://www.chromestatus.com/feature/5629709824032768获取更多信息 细节。

该问题很可能是对runtime.sendMessage的异步响应处理不当。正如MDN所说:

要发送一个异步响应,有两个选项: 从事件监听器返回true。这将保留sendResponse 函数在侦听器返回后有效,因此可以稍后调用它。 从事件监听器返回一个Promise,并解析 当您获得响应时(或在出现错误时拒绝它)。

当您发送一个异步响应但没有使用这两种机制中的任何一种时,sendMessage提供的sendResponse参数超出了作用域,结果就像错误消息所说的那样:您的消息端口(消息传递设备)在接收到响应之前关闭了。

webextend -polyfill的作者已经在2018年6月写过关于它的文章。

所以底线,如果你看到你的扩展导致这些错误-仔细检查你所有的onMessage监听器。其中一些可能需要开始返回承诺(将它们标记为异步就足够了)。(谢谢@vdegenne)

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

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

我们应该在监听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);
  }
});

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

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

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

和平!✌️

我在react项目运行中遇到了同样的错误。

这个错误来自我的chrome浏览器

IObit冲浪保护 2.2.7

扩展。我的错误扩展被解决了。

如果你面临同样的错误,首先关闭你的chrome广告拦截器或任何其他扩展,而运行。