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")' });行)

但是由于我的清单清楚地向我授予了该主机的权限(通过 "*://*/*" 权限条目),我不知道是什么导致了这个错误或如何修复它。

很遗憾,我无法在我自己的幻灯片演示文稿中使用该代码重现您的问题(警报运行正常)。

根据评论,我认为这些都没有帮助:

  1. 尝试 <all_urls> 而不是 *://*/*,如图 here
  2. 禁用所有其他 Chrome 扩展程序。

考虑到这一点,试试这个:创建一个新的 Chrome profile,将解压缩的扩展程序加载到该配置文件中,看看是否可以重现该问题。

如果我们不能与小魔怪推理,也许我们至少可以收容它们。