2017-05-08 51 views
1

我正在編寫Microsoft Edge擴展。browser.tabs在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是不確定的?

爲什麼?

enter image description here

+0

您是否試圖移植Chrome擴展程序?如果是這樣,請參閱 https://docs.microsoft.com/en-us/microsoft-edge/extensions/guides/porting-chrome-extensions和https://www.microsoft.com/el-GR/store/p/microsoft-edge-extension-toolkit/9nblggh4txvb?rtc = 1 –

+0

不,只寫一個新的微軟邊緣插件。 – Jimmyt1988

+0

是瀏覽器對象定義好嗎?如果是的話,那麼如果選項卡不是,那麼它可能是一個權限問題 –

回答

0

你可以調用這個函數browser.tabs.getCurrent()在上下文那裏有一個瀏覽器標籤,如選項頁。如果你從後臺腳本或彈出窗口調用它,它將返回undefined.But,因爲我看到你在內容腳本中使用了這個函數,所以它不應該是一個問題。

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

您可以檢查this site瞭解有關如何使用邊緣擴展功能的更多信息。

此外,您不應該將作者字段留空,它可能會給出一些錯誤。所以請嘗試寫下你的名字。

+0

重點是它不起作用:( – Jimmyt1988

+0

但它與邊緣兼容,因此它應該工作,我自己用它 –

+0

我已經添加了一個piccy到我的OP,我想知道它是什麼,我已經破了:) – Jimmyt1988

相關問題