我有一个非常简单的 Chrome 扩展程序。它基本上只是:
背景.js:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript({ code: 'alert("hi")' });
});
manifest.json(相关部分):
{
"manifest_version": 2,
"name": "ABC",
"version": "0.0.1",
"description": "abc",
"background": {
"scripts": ["background.js"],
"persistent": false
},
"browser_action": {
"default_title": "Start"
},
"permissions": [
"activeTab",
"tabs",
"*://*/*"
]
}
奇怪的是,我可以在大多数网站上使用它,而且效果很好:我得到了alert
预期的结果,没有错误。但是,如果我尝试在 Google 幻灯片上使用我的扩展程序,我会得到:
_generated_background_page.html:1 运行 tabs.executeScript 时未检查 runtime.lastError:无法访问 url 的内容“ https://docs.google.com/presentation/d/1_utjr0oy3rpsFq_R2YxAi2qNUIGItpj7ePhBCgqkdRY/edit#slide=id.g36de8e2a97_0_0 ”。扩展清单必须请求访问此主机的权限。在 chrome-extension://ijlnhinabondoaapkefkfbkickaemgdl/background.js:55:15
(第 55 行是行chrome.tabs.executeScript({ code: 'alert("hi")' });
)
但是由于我的清单清楚地允许我访问该主机(通过 "*://*/*"
权限条目),我不知道是什么导致了这个错误或如何修复它。