。扩展清单必须请求访问本地文件相应主机的权限

问题描述 投票:0回答:1

我得到了这个代码:

manifest.json

{
  "manifest_version": 3,
  "name": "AutoClicker",
  "version": "1.0",
     "permissions": ["activeTab", "scripting"],
  "background": {
    "service_worker": "background.js"
  },
  "host_permissions": ["*://*/*"],
  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": ["content.js"]
    }
  ],
  "action": {}
}


我试图在本地文件上测试它,但每当我尝试它时,我都会得到这个:

Error executing script: Error: Cannot access contents of the page. Extension manifest must request permission to access the respective host.

我搜索了许可但找不到它,有什么帮助吗?

我尝试在本地主机文件上运行该脚本,但收到错误消息,提示我没有权限

javascript google-chrome-extension chrome-extension-manifest-v3
1个回答
0
投票

我认为您遇到的错误是由于 chrome 无权访问您的本地文件。

要允许扩展程序访问您的本地文件,您需要在扩展程序设置中启用此功能,如下所示。

  1. 导航打开扩展管理页面 chrome://扩展。

  2. 转到扩展程序列表,然后在您的扩展程序上单击详细信息按钮。

  3. 然后向下滚动到“允许访问文件 URL”部分并打开开关。

请注意,如果扩展程序是从本地磁盘加载的,则上述内容将起作用。

您可以使用 chrome.extension.isAllowedFileSchemaAccess

检查是否允许文件访问

在您的代码中,您可以像这样修改 host_permissons 和权限以允许文件访问

{

   "manifest_version": 3,
   "name": "AutoClicker",
   "version": "1.0",
   "permissions": ["activeTab", "scripting", "file://*/*"],
   "background": {
            "service_worker": "background.js"
    },
   "host_permissions": ["*://*/*", "file://*/*"],
   "content_scripts": [
      {
        "matches": ["<all_urls>"],
        "js": ["content.js"]
      }
     ],
   "action": {}
}

对于未来的问题,chrome 开发者文档将是一个很好的起点。 这里

© www.soinside.com 2019 - 2024. All rights reserved.