如何捕获VisualTab并将其保存到服务器端的png文件?

Mar*_*ewa 4 google-chrome google-chrome-extension

在Google Chrome扩展程序中,我如何捕获可见标记并将其保存到服务器端的png文件中?

che*_*_ca 13

这是一个简单的示例,展示了如何做到这一点:

manifest.json的:

{
  "name": "TabCapture",
  "version": "0.0.1",
  "description": "Capture a tab",
  "background_page" : "background.html",
  "browser_action": {
    "default_icon": "icon.png",
    "default_title": "Capture tab"      
  },
  "permissions" : ["tabs", "<all_urls>"]
}
Run Code Online (Sandbox Code Playgroud)

background.html:

<!DOCTYPE html>
<html>
  <script type="text/javascript" src="background.js"></script>
</html>
Run Code Online (Sandbox Code Playgroud)

background.js:

 chrome.browserAction.onClicked.addListener(function(tab) {
   chrome.tabs.captureVisibleTab(null, function(img) {
     var xhr = new XMLHttpRequest(), formData = new FormData();  
     formData.append("img", img);
     xhr.open("POST", "http://myserver.com/submitImage", true);
     xhr.send(formData);
   });
 });
Run Code Online (Sandbox Code Playgroud)

此扩展程序会在Chrome中添加浏览器操作按钮.当用户单击该按钮时,包含base64编码图像(到FormData对象)的POST请求将发送到http://myserver.com/submitImage.

此代码未显示如何管理错误和服务器响应.