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

With a Manifest v3 Chrome Extension, is it possible to load an extension HTML resource file into a new tab?

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

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

我重新加载了插件,然后尝试在我的浏览器中导航到此页面:

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

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

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

打开它
    chrome.tabs.create({url:chrome.runtime.getURL('page.html'),active:true});

这将自动打开类似于...

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

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

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

感谢 wOxxOm 的帮助。