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