因此,我尝试编写一些代码,以便在按下我的网站上的按钮时可以截取页面的屏幕截图。代码可以工作,但唯一的问题是我必须先单击 chrome 扩展,然后才能单击按钮来截取屏幕截图。我猜这是因为活动选项卡未被调用。有任何想法吗?
这是错误消息:
运行 tabs.captureVisibleTab 时未选中的 runtime.lastError:“activeTab”权限无效,因为尚未调用此扩展。
清单.json
"permissions": [
"tabs",
"*://google.com/*"
],
背景.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();
});
内容脚本1.js
contentScriptMessage = "Take a screenshot";
document.addEventListener("hello", function(data) { //When overlay is clicked
chrome.extension.sendRequest({message: contentScriptMessage}); //call background script
})
当单击图像时(调用函数 go()),我从网页传递一条消息,如下所示:
var go = function() {
var event = document.createEvent('Event');
event.initEvent('hello');
document.dispatchEvent(event);
}