使用 Manifest v3 Chrome 扩展程序,是否可以将扩展程序 HTML 资源文件加载到新选项卡中?

Vol*_*ike 2 google-chrome-extension chrome-extension-manifest-v3

使用 Manifest v3 Chrome 扩展程序,是否可以将扩展程序 HTML 资源文件加载到新选项卡中?我正在考虑提供一个比弹出面板所能提供的更大、全页面用户体验的插件。我创建了一个 page.html(目前只是简单的 HTML,没有 JS 或 CSS)并将其放入我的扩展文件夹中。然后我将其添加到manifest.json:

    "web_accessible_resources": [
      {
        "resources": ["page.html"],
        "matches": [ "*://*/*" ]
      }
    ]

Run Code Online (Sandbox Code Playgroud)

我重新加载了插件,然后尝试使用以下命令在浏览器中导航到此页面:

chrome://extensions/MY-EXTENSION-ID-GOES-HERE/page.html

我收到 ERR_FAILED 和“无法访问此站点”消息。

Vol*_*ike 5

web_accessible_resources在这种情况下,在 v3 清单中不需要用于此操作。只需使用类似以下代码的内容从 service-worker.js 打开它:

    chrome.tabs.create({url:chrome.runtime.getURL('page.html'),active:true});
Run Code Online (Sandbox Code Playgroud)

这将自动打开类似...

chrome-extension://MY-EXTENSION-ID/page.html

...其中 MY-EXTENSION-ID 由 . 自动填写chrome.runtime.getURL('page.html')

然后,您可以在 HTML 标记中引用远程和本地资源。对于本地资源,只需使用相对路径即可。对于远程资源,请关注 Google Chrome 扩展程序开发人员政策。

感谢wOxxOm的帮助。