Вот простой пример, показывающий, как вы можете это сделать:
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.
Этот код не показывает, как управлять ошибками и ответом сервера.