我在我的项目中使用VueJS和Laravel。这个问题最近开始出现,甚至在旧的git分支中也出现了。
此错误仅在Chrome浏览器中显示。
我在我的项目中使用VueJS和Laravel。这个问题最近开始出现,甚至在旧的git分支中也出现了。
此错误仅在Chrome浏览器中显示。
当前回答
此错误通常是由您的Chrome扩展之一引起的。
我建议安装这个一键式扩展禁用器,我使用键盘快捷键COMMAND(⌘)+ SHIFT(⇧)+ D -来快速禁用/启用所有扩展。
一旦扩展被禁用,这个错误消息就会消失。
和平!✌️
其他回答
这里只清理网站cookie就可以了。
我建议你先禁用所有的扩展,然后一个接一个地启用它们,直到你找到一个导致问题的,在我的情况下,自然阅读器文本到语音导致了这个错误,所以我禁用了它。与Cross-Origin Read Blocking (CORB)没有任何关系,除非错误提到Cross-Origin,然后更进一步,这是值得尝试的方法。
如果你去chrome://extensions/,你可以一次切换每个扩展,看看哪个实际上触发了问题。
关闭扩展后,刷新看到错误的页面,并左右摆动鼠标或单击。鼠标操作会抛出错误。
因此,我能够查明是哪个扩展程序导致了这个问题,并禁用它。
如果你是一个扩展开发人员,你在谷歌上搜索了一下,试图停止引起这个错误:
问题不是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)
我在Chrome中禁用了所有已安装的扩展-为我工作。 我现在已经清除控制台没有错误。