小编use*_*309的帖子

Chrome屏幕截图仅在点击扩展程序时有效

所以我想写一些代码,这样我可以在我的网站上按下按钮时截取页面的截图.代码有效,但唯一的问题是我必须首先点击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)

javascript google-chrome-extension

5
推荐指数
1
解决办法
3368
查看次数