Как захватить VisibleTab и сохранить его в png файл на стороне сервера? - PullRequest
4 голосов
/ 04 января 2012

В расширении Google Chrome, как я могу захватить VisibleTab и сохранить его в png файл на стороне сервера?

1 Ответ

11 голосов
/ 04 января 2012

Вот простой пример, показывающий, как вы можете это сделать:

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>"]
}

background.html:

<!DOCTYPE html>
<html>
  <script type="text/javascript" src="background.js"></script>
</html>

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);
   });
 });

Это расширение добавляет кнопку действия браузера в Chrome. Когда пользователь нажимает кнопку, POST-запрос, содержащий закодированное в base64 изображение (в объект FormData ), отправляется на http://myserver.com/submitImage.

Этот код не показывает, как управлять ошибками и ответом сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...