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 в скрипт контента?
Я бы предпочел не делать всю логику на фоновой странице, которая можетt контролировать что-либо на реальной видимой странице.