[英]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.