我有一个相当复杂的Chrome扩展程序已经运行了很长时间,但是当Ubuntu自动将Chromium浏览器从48.0.xxx更新到版本49.0.2623.87 Ubuntu 14.04(64位)时,那么(似乎)我的重启后,扩展脚本无法正常工作。
在background.js
:
chrome.tabs.sendMessage(id, {text: "abc"});
在contentscript.js
:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
console.log("Processing message....");
// ... rest of code
});
这曾经有用,但现在不行。我甚至没有在控制台中看到“处理消息....”。
此外,我还有一些额外的奇怪行为,但这可能与问题无关:
首先,我的内容脚本无法加载,抱怨manifest.json
中的图标。我指定了图标大小(“16”)并且脚本能够加载。但这很奇怪,因为清单过去没有任何故障。
答案 0 :(得分:0)
我找到了失败的原因。新Chrome需要放置"标签"在"permissions": [
"tabs",
"http://localhost/",
"clipboardRead",
"clipboardWrite",
"contextMenus"
],
中的权限中,例如:
chrome.tabs.query({url: "http://example.com/"} ,...);
这允许
{{1}}
上班。在我的脚本中,缺少权限导致返回垃圾,并且消息未正确发送。
Chrome更新期间的行为发生了变化。在此之前,"标签"许可要求没有严格执行。