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 в скрипт контента?

Я бы предпочел не делать всю логику на фоновой странице, которая не может ничего контролировать на реальной видимой странице.

Ответы на вопрос(1)

Ваш ответ на вопрос