从 Chrome 扩展上下文菜单打开新标签

Open new tab from Chrome Extension Context Menu

更新: 因此,由于我的文件夹的结构方式,它看起来应该是 chrome-extension://meajimhgfmioppbkoppphhkbcmapfngh/html/index.html 而不是 chrome-extension://meajimhgfmioppbkoppphhkbcmapfngh/index.html。当我在搜索栏中手动输入它时,它可以工作,但当我将我的代码更新为此时仍然无法工作:

chrome.contextMenus.onClicked.addListener(function (result) {
  if (result['menuItemId'] === 'open-sesame') {
    chrome.tabs.create({ 'url': chrome.extension.getURL("/html/index.html") }, function (tab) {
    })
  }
})

我有一个 chrome 扩展程序,用户可以在其中将我的扩展程序作为新选项卡显示。我正在实施的一项新功能是能够切换回默认 google 搜索页面,现在用户可以从浏览器操作上下文菜单访问扩展。我在尝试提出解决方案时参考了 this answer

我现在卡在 contextMenu 上了,因为当我点击它时,我来到了显示无法访问文件的页面。

background.js

chrome.contextMenus.create({
  title: "Open",
  contexts: ['browser_action'],
  id: 'open-sesame',

})

chrome.contextMenus.onClicked.addListener(function (result) {
  if (result['menuItemId'] === 'open-sesame') {
    chrome.tabs.create({ 'url': chrome.extension.getURL("index.html") }, function (tab) {
    })
  }
})

新标签页打开的 url 是 chrome-extension://meajimhgfmioppbkoppphhkbcmapfngh/index.html,这似乎打开我的扩展程序是正确的,但由于某种原因它仍然无法正常工作。

Folder Structure

html

js

css

原来我必须添加正确的文件路径才能访问我的 index.html 并更新扩展以使其正常工作。