use*_*309 5 javascript google-chrome-extension
所以我想写一些代码,这样我可以在我的网站上按下按钮时截取页面的截图.代码有效,但唯一的问题是我必须首先点击chrome扩展,然后我可以点击按钮来获取截图.我想这是因为没有调用活动选项卡.有任何想法吗?
这是错误:运行tabs.captureVisibleTab时未选中runtime.lastError:'activeTab'权限无效,因为尚未调用此扩展.
的manifest.json
"permissions": [
"tabs",
"*://google.com/*"
],
Run Code Online (Sandbox Code Playgroud)
background.js
var id = 100;
// Listen for a click on the camera icon. On that click, take a screenshot.
function takeScreenshot() {
chrome.tabs.captureVisibleTab(null, function(screenshotUrl) {
.....
}
chrome.extension.onRequest.addListener(function(request, sender) {
takeScreenshot();
});
Run Code Online (Sandbox Code Playgroud)
contentscript1.js
contentScriptMessage = "Take a screenshot";
document.addEventListener("hello", function(data) { //When overlay is clicked
chrome.extension.sendRequest({message: contentScriptMessage}); //call background script
})
Run Code Online (Sandbox Code Playgroud)
当点击图像时,我从网页传递一条消息(调用函数go()),如下所示:
var go = function() {
var event = document.createEvent('Event');
event.initEvent('hello');
document.dispatchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)
运行tabs.captureVisibleTab时未经检查的runtime.lastError:'activeTab'权限无效,因为尚未调用此扩展.
此错误表示如果没有明确的用户手势(例如点击您的扩展程序),您的扩展程序没有足够的权限来访问当前选项卡.我必须说错误在这里有误导性,因为你activeTab的清单中没有权限.
文档提到您需要具体的"<all_urls>"权限才能在没有显式调用的情况下使用此功能.有关要求的说明,请参阅此错误.
| 归档时间: |
|
| 查看次数: |
3368 次 |
| 最近记录: |