簡體   English   中英

Microsoft Edge擴展中未定義的browser.tabs

[英]browser.tabs undefined in Microsoft Edge extension

我正在編寫Microsoft Edge擴展。

我有以下清單文件:

{
  "author": "",
  "description": "Test",
  "name": "Test",
  "version": "1.0",
    "permissions": [        
        "tabs",
        "<all_urls>"
    ],
  "content_scripts": [{
    "js": ["script.js"],
    "matches": ["*://*/*"]
  }],
  "icons": {
    "48": "icons/icon-40x40.png"
  }
}

當我放入script.js時:

var currentTab = browser.tabs.getCurrent();
alert(currentTab.index);

失敗,因為browser.tabs未定義?

為什么?

在此處輸入圖片說明

由於內容腳本的局限性,因此無法實現。

browser.tabs API只能在后台腳本和瀏覽器操作彈出腳本中使用/可用。 要實現預期的功能,您可以向后台腳本發送消息,並且可以在后台腳本中使用browser.tabs API。

您可以在有瀏覽器選項卡(例如選項頁browser.tabs.getCurrent()的上下文中調用此功能browser.tabs.getCurrent() 如果從后台腳本或彈出窗口調用它,它將返回undefined。但是,正如我所看到的,您已經在內容腳本中使用了此函數,所以這應該不是問題。

這是一個異步函數,它返回Promise。

您可以檢查此站點,以獲取有關如何使用Edge Extension功能的更多信息。

另外,您不應該將author字段留空,這可能會導致一些錯誤。 因此,嘗試在其中寫下您的名字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM