Google Chrome扩展程序权限问题,带有Google文档(仅)

时间:2018-08-12 20:17:52

标签: javascript google-chrome-extension google-slides

我有一个非常简单的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幻灯片上使用扩展程序,则会得到:

  

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

但是,由于清单很明显地(通过"*://*/*"权限项,使我拥有了该主机的权限,所以我不知道是什么原因导致了此错误或如何解决该错误。

1 个答案:

答案 0 :(得分:2)

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

根据评论,我理解这些都没有帮助:

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

为此,请尝试以下操作:创建一个全新的{{3}},将解压缩的扩展程序加载到该配置文件中,看看是否可以重现该问题。

如果我们无法推理出这些小怪物,也许我们至少可以包含它们。