使用 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 的帮助。
使用 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 的帮助。