Edge中不支持API调用'tabs.captureVisibleTab'

时间:2017-05-30 18:36:58

标签: microsoft-edge microsoft-edge-extension

我在Windows 10 v1703上使用Edge,构建15063.296。 文档(https://docs.microsoft.com/en-us/microsoft-edge/extensions/api-support/supported-apis)声明API tabs.captureVisibleTab可用。

但是当我在后台脚本中使用它时,我收到以下错误:

  

边缘不支持API调用'tabs.captureVisibleTab'。

代码是:

browser.tabs.captureVisibleTab(currentTab.windowId, {format: "png"}, function (data) {});

我错过了什么吗?

UPDATE:

这是我的清单文件(从Chrome移植):

{
"author": "Evgeny Suslikov",
"background": {
    "page": "background.html",
    "persistent": true
},
"browser_action": {
    "default_icon": {
        "19": "images/sss_19.png"
    },
    "default_title": "FireShot - Capture page",
    "default_popup": "fsPopup.html"
},
"commands": {
    "last-used-action": {
        "suggested_key": {
            "default": "Ctrl+Shift+Y",
            "mac": "Command+Shift+Y"
        },
        "description": "__MSG_options_label_last_action_hotkey__"
    }
},
"default_locale": "en",
"description": "__MSG_application_description__",
"icons": {
    "16": "images/sss_16.png",
    "32": "images/sss_32.png",
    "48": "images/sss_48.png",
    "128": "images/sss_128.png"
},
"Key": "B5SSrXXpDZAoT8SQ4vAzNeTQ1tBC2Z24nx+hHZXfykmVYfMy5aOwPkf0Hbt7SXlKbprwV0GwrYgCwIDAQAB",
"manifest_version": 2,
"name": "__MSG_application_title__",
"offline_enabled": true,
"optional_permissions": [
    "tabs",
    "<all_urls>",
    "downloads"
],
"options_page": "fsOptions.html",
"permissions": [
    "activeTab",
    "tabs",
    "contextMenus",
    "nativeMessaging"
],
"short_name": "FireShot",
"version": "0.98.92",
"web_accessible_resources": [
    "images/*.gif"
],
"-ms-preload": {
    "backgroundScript": "backgroundScriptsAPIBridge.js",
    "contentScript": "contentScriptsAPIBridge.js"
},

"content_scripts": [{
    "matches": ["<all_urls>"],
    "js": ["scripts/fsUtils.js", "scripts/fsSelection.js", "scripts/fsLinks.js", "scripts/fsContent.js"]
}]
}

在我的fsBackground.js页面中,我打电话:

     browser.tabs.captureVisibleTab(windowId, {format: "png"}, function (data) {});

我收到以下错误:click to see screenshot...

1 个答案:

答案 0 :(得分:1)

支持该功能starting from Edge 15。在以前的版本中,它仍然不受支持,即使文档说的不同。

确保下载最新版本的Microsoft Edge Extension Toolkit并使用它重新生成桥文件。

您可以查看生成的backgroundScriptsAPIBridge.js文件以查看更改内容。

以前的版本(不支持):

captureVisibleTab(windowId, options, callback) {
    bridgeLog.LogUnavailbleApi("tabs.captureVisibleTab");
}

新版本(支持):

captureVisibleTab(windowId, options, callback) {
    bridgeLog.DoActionAndLog(() => {
        myBrowser.tabs.captureVisibleTab.apply(null, arguments);
    }, "tabs.captureVisibleTab");
}