2017-05-08 46 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

相关问题