API расширения Chrome: chrome.tabs.captureVisibleTab на фоновой странице для скрипта содержимого
Моей общей целью было сделать скриншот через фоновую страницу, используя:
http://developer.chrome.com/extensions/tabs.html#method-captureVisibleTab
и передать его в скрипт контента, чтобы я мог использовать HTML DOM страницы, чтобы проанализировать скриншот и урезать его так, как мне бы хотелось.
Тем не менее, я не могу передать dataUrl обратно в сценарий содержимого с передачей сообщений:
http://developer.chrome.com/extensions/messaging.html
Я пытался JSON.stringify (), но безрезультатно.
Это прекрасно работает:
background.js
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
sendResponse({imgSrc:'hello'});
}
);
Я переключаю код на это, и ничего не проходит:
background.js
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
chrome.tabs.captureVisibleTab(
null,
{},
function(dataUrl)
{
sendResponse({imgSrc:dataUrl});
}
)
}
);
Единственное доказательство того, что фоновая страница на самом деле делает снимок экрана, это то, что я могу сделать
chrome.tabs.captureVisibleTab(null,{},function(dataUrl){console.log(dataUrl);});
и я вижу
"Данные: изображение / JPEG; base64, / 9J / 4AAQSkZJRgABAQAAA .... и т.д ..."
вошел в background.html, который действителен
У меня вопрос: как я могу отправить этот URL в скрипт контента?
Я бы предпочел не делать всю логику на фоновой странице, которая не может ничего контролировать на реальной видимой странице.