我在我的项目中使用VueJS和Laravel。这个问题最近开始出现,甚至在旧的git分支中也出现了。
此错误仅在Chrome浏览器中显示。
我在我的项目中使用VueJS和Laravel。这个问题最近开始出现,甚至在旧的git分支中也出现了。
此错误仅在Chrome浏览器中显示。
当前回答
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"
]
}
其他回答
在我的例子中,它是在我自己的页面源代码中设置的断点。如果我删除或禁用断点,则错误将清除。
断点位于一个相当复杂的呈现代码块中。页面不同部分的其他断点没有这种效果。我无法找出总是触发此错误的简单测试用例。
确保您使用了正确的语法。
我们应该在监听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 -来快速禁用/启用所有扩展。
一旦扩展被禁用,这个错误消息就会消失。
和平!✌️
对于那些来这里调试Chrome 73中的这个错误的人来说,一种可能是因为Chrome 73以后不允许内容脚本中的跨源请求。
更多阅读:
https://www.chromestatus.com/feature/5629709824032768 https://www.chromium.org/Home/chromium-security/extension-content-script-fetches
这影响了许多Chrome扩展的作者,他们现在需要努力修复扩展,因为Chrome认为“我们的数据显示大多数扩展不会受到这个变化的影响。”
(这与你的应用程序代码无关)
更新:我修复了CORs问题,但我仍然看到这个错误。我怀疑这是Chrome的错。
我建议你先禁用所有的扩展,然后一个接一个地启用它们,直到你找到一个导致问题的,在我的情况下,自然阅读器文本到语音导致了这个错误,所以我禁用了它。与Cross-Origin Read Blocking (CORB)没有任何关系,除非错误提到Cross-Origin,然后更进一步,这是值得尝试的方法。