Extensión de Chrome API: chrome.tabs.captureVisibleTab en la página de fondo a la secuencia de comandos de contenido
Mi objetivo general era tomar una captura de pantalla a través de la página de fondo usando:
http://developer.chrome.com/extensions/tabs.html#method-captureVisibleTab
y páselo al script de contenido para que pueda usar el DOM de HTML de la página para analizar la captura de pantalla y cortarlo como me gustaría.
Sin embargo, parece que no puedo volver a pasar el dataUrl al script de contenido con Message Passing:
http://developer.chrome.com/extensions/messaging.html
Intenté JSON.stringify () pero fue en vano.
Esto funciona perfectamente bien:
background.js
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
sendResponse({imgSrc:'hello'});
}
);
Cambié el código a esto y nada pasa:
background.js
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
chrome.tabs.captureVisibleTab(
null,
{},
function(dataUrl)
{
sendResponse({imgSrc:dataUrl});
}
)
}
);
Mi única prueba de que la página de fondo en realidad está tomando una captura de pantalla es que puedo hacer
chrome.tabs.captureVisibleTab(null,{},function(dataUrl){console.log(dataUrl);});
y veo
"datos: imagen / jpeg; base64, / 9j / 4AAQSkZJRgABAQAAA .... etc ..."
ha iniciado sesión en background.html, que es válido
Mi pregunta es: ¿Cómo puedo enviar esta URL a la secuencia de comandos de contenido?
Preferiría no hacer toda la lógica en la página de fondo que no puede controlar nada en la página visible real.