Google Chrome 扩展权限问题,Google 文档(仅限)
Google Chrome Extension Permissions Issue, With Google Docs (Only)
我有一个非常简单的 Chrome 扩展。基本上只是:
background.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 Unchecked runtime.lastError while running tabs.executeScript: Cannot access contents of url "https://docs.google.com/presentation/d/1_utjr0oy3rpsFq_R2YxAi2qNUIGItpj7ePhBCgqkdRY/edit#slide=id.g36de8e2a97_0_0". Extension manifest must request permission to access this host.
at chrome-extension://ijlnhinabondoaapkefkfbkickaemgdl/background.js:55:15
(第55行是chrome.tabs.executeScript({ code: 'alert("hi")' });
行)
但是由于我的清单清楚地向我授予了该主机的权限(通过 "*://*/*"
权限条目),我不知道是什么导致了这个错误或如何修复它。
很遗憾,我无法在我自己的幻灯片演示文稿中使用该代码重现您的问题(警报运行正常)。
根据评论,我认为这些都没有帮助:
- 尝试
<all_urls>
而不是 *://*/*
,如图 here。
- 禁用所有其他 Chrome 扩展程序。
考虑到这一点,试试这个:创建一个新的 Chrome profile,将解压缩的扩展程序加载到该配置文件中,看看是否可以重现该问题。
如果我们不能与小魔怪推理,也许我们至少可以收容它们。
我有一个非常简单的 Chrome 扩展。基本上只是:
background.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 Unchecked runtime.lastError while running tabs.executeScript: Cannot access contents of url "https://docs.google.com/presentation/d/1_utjr0oy3rpsFq_R2YxAi2qNUIGItpj7ePhBCgqkdRY/edit#slide=id.g36de8e2a97_0_0". Extension manifest must request permission to access this host. at chrome-extension://ijlnhinabondoaapkefkfbkickaemgdl/background.js:55:15
(第55行是chrome.tabs.executeScript({ code: 'alert("hi")' });
行)
但是由于我的清单清楚地向我授予了该主机的权限(通过 "*://*/*"
权限条目),我不知道是什么导致了这个错误或如何修复它。
很遗憾,我无法在我自己的幻灯片演示文稿中使用该代码重现您的问题(警报运行正常)。
根据评论,我认为这些都没有帮助:
- 尝试
<all_urls>
而不是*://*/*
,如图 here。 - 禁用所有其他 Chrome 扩展程序。
考虑到这一点,试试这个:创建一个新的 Chrome profile,将解压缩的扩展程序加载到该配置文件中,看看是否可以重现该问题。
如果我们不能与小魔怪推理,也许我们至少可以收容它们。