【问题标题】:Screenshot using chrome.tabs.captureVisibleTab使用 chrome.tabs.captureVisibleTab 的屏幕截图
【发布时间】:2015-02-03 21:08:49
【问题描述】:

我正在尝试使用 chrome.tabs.captureVisibleTab 捕获页面的可见区域。这是进行调用的代码:

chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
    if (request.name == 'screenshot') {
        chrome.tabs.captureVisibleTab(null, null, function(dataUrl) {
            sendResponse({ screenshotUrl: dataUrl });
        });
    }
});

但是当我尝试捕获标签时,我得到了这个错误:

运行 tabs.captureVisibleTab 时未检查 runtime.lastError:“activeTab”权限无效,因为尚未调用此扩展。

这是我的清单文件:

   {
  "manifest_version": 2,

  "name": "Empathy",
  "version": "0.1",

  "description": "Simulate accessibility issues for websites.",

  "browser_action": {
    "default_icon": "empathy19.png",
    "default_title": "Empathy!"
  },

  "permissions": [
    "activeTab",
    "contextMenus",
    "desktopCapture",
    "tabCapture",
    "tts" // Text-to-speech
  ],

  "background":   {
    "scripts": [
      "boot.js"
    ],
    "persistent": false
  },

  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": [
        "src/helpers.js",
        "src/colorblindness.js",
        "lib/colorvision.js",
        "lib/html2canvas.js"
      ]
    }
  ]
}
  • 我有有效的标签页权限
  • 正在从后台脚本进行调用
  • 我正在匹配&lt;all_urls&gt;

为什么会出现这个错误?

【问题讨论】:

  • 我使用的是 all_urls 权限,所以这个答案并不适合我的问题。
  • 但是您的清单“权限”中没有“”。
  • 哈,谢谢! :) 我没有意识到 可能是匹配的东西以及许可。做到了。谢谢!

标签: javascript google-chrome-extension


【解决方案1】:

有些东西将&lt;all_urls&gt; 视为匹配的东西,但我缺少的是&lt;all_urls&gt; 权限。我添加权限后,它起作用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    相关资源
    最近更新 更多