无法访问 WebExtension API

Cannot Access WebExtension APIs

我有以下 manifest.json:

{
   "manifest_version": 2,
   "name": "Application Name",
   "version": "1.0",

   "description": "blah blah blah",

   "icons": {
      "48": "icons/icon-48.png",
      "96": "icons/icon-96.png"
   },

   "permissions": [
      "activeTab",
      "tabs",
      "history",
      "storage"
   ],

   "browser_action": {
      "default_icon": "icons/icon-32.png",
      "default_title": "Title",
      "default_popup": "popup/popup.html"
   },

   "content_scripts": [{
      "matches": [
         "<all_urls>"
      ],
      "js": [
         "content_scripts/script1.js",
         "content_scripts/script2.js"
      ]
   }]
}

我可以访问我的内容脚本中的 storage API(browser.storage 已定义),但是历史记录和选项卡 APIs (browser.tabsbrowser.history) 是 undefined。我是否遗漏了清单中的某些内容以获取这些权限?

可用于内容脚本的少数 WebExtensions API 之一是 browser.storage。大多数 WebExtensions API 只能在使用后台脚本时访问。使用消息传递,您仍然可以调用这些 API(您所做的基本上是从内容脚本中调用后台脚本中的函数)。请参阅此页面上的示例:https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/runtime/sendMessage

另请参阅 了解类似问题。