Chrome-Erweiterungs-API: chrome.tabs.captureVisibleTab auf der Hintergrundseite zum Inhaltsskript
Mein übergeordnetes Ziel war es, einen Screenshot über die Hintergrundseite zu machen, mit:
http://developer.chrome.com/extensions/tabs.html#method-captureVisibleTab
Übergeben Sie es an das Inhaltsskript, damit ich den Screenshot mit dem HTML-DOM der Seite analysieren und nach meinen Wünschen zuschneiden kann.
Es scheint jedoch nicht möglich zu sein, die dataUrl mit Message Passing an das Inhaltsskript zurückzugeben:
http://developer.chrome.com/extensions/messaging.html
Ich habe versucht, JSON.stringify (), aber ohne Erfolg.
Das funktioniert einwandfrei:
background.js
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
sendResponse({imgSrc:'hello'});
}
);
Ich ändere den Code darauf und nichts kommt durch:
background.js
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
chrome.tabs.captureVisibleTab(
null,
{},
function(dataUrl)
{
sendResponse({imgSrc:dataUrl});
}
)
}
);
Mein einziger Beweis, dass die Hintergrundseite tatsächlich einen Screenshot macht, ist, dass ich das kann
chrome.tabs.captureVisibleTab(null,{},function(dataUrl){console.log(dataUrl);});
und ich verstehe
Daten: image / jpeg; base64, / 9j / 4AAQSkZJRgABAQAAA .... etc ...
angemeldet in background.html, die gültig ist
Meine Frage lautet: Wie kann ich diese URL an das Inhaltsskript senden?
Ich würde es vorziehen, nicht die gesamte Logik auf der Hintergrundseite auszuführen, die nichts auf der tatsächlich sichtbaren Seite steuern kann.