谷歌浏览器扩展程序的javascript截图

时间:2017-07-10 23:55:02

标签: javascript google-chrome google-chrome-extension

我目前正在构建Google Chrome扩展程序,该扩展程序从不同页面获取多个屏幕截图并在端点上发布。 我遇到的问题是时机已关闭。我的意思是截图在页面甚至停止加载之前就太早了。其次,我只接收来自链接类型WE的第二个屏幕截图(不是PA类型中的第一个),好像动作太快而只是跳过PA。我对JS并不是很好,如果有人指出如何使这些代码变得更好我全都耳朵。谢谢。

background.js

html

1 个答案:

答案 0 :(得分:1)

奇怪的是,验证info.status == 'complete'不足以知道页面已加载。

1秒超时可能是您问题的临时解决方案。可能是您正在加载的网页中的某些脚本正在进行更新/显示网页的工作,即使在DOM完成加载后也是如此(特别是在SPA类型的应用程序中)。

setTimeout(function() {
chrome.tabs.captureVisibleTab(null, {format: "jpeg", quality: 100}, function(screenshotUrl) {
      var xhr = new XMLHttpRequest() , formData = new FormData();
      formData.append("image", screenshotUrl);
      formData.append("dashboard_type", currentObject.type);
      xhr.open("POST", "http://intranet/api/powerbi/screenshots_upload/");
      xhr.send(formData);
    });
}, 1000);