【发布时间】: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"
]
}
]
}
- 我有有效的标签页权限
- 正在从后台脚本进行调用
- 我正在匹配
<all_urls>
为什么会出现这个错误?
【问题讨论】:
-
我使用的是 all_urls 权限,所以这个答案并不适合我的问题。
-
但是您的清单“权限”中没有“
”。 -
哈,谢谢! :) 我没有意识到
可能是匹配的东西以及许可。做到了。谢谢!
标签: javascript google-chrome-extension