Ich entwickle ein Firefox-Add-on mit SDK 1.17. Es enthält ein Panel mit einer Schaltfläche (Entwickelt mit ExtJs), ich möchte den Screenshot der aktuellen Seite nehmen, wenn der Benutzer auf die Schaltfläche klickt. In Google Chrome gibt es eine API (chrome.page-capture). Aber ich konnte das ähnliche in Firefox nicht finden. In Firefox, wie Sie diese Aufgabe von der main.js aus tun.firefox addon sdk 1.17 Screenshot erstellen
5
A
Antwort
5
O.k Ich habe die Antwort gefunden. Dieser Code kann verwendet werden, um den gesamten Seitenbildschirm aufzunehmen.
Fügen Sie diesen Code in Ihre main.js ein.
var window = require('sdk/window/utils').getMostRecentBrowserWindow();
var tab = require('sdk/tabs/utils').getActiveTab(window);
var myData;
tabs.activeTab.attach({
contentScript: "self.postMessage(document.body.scrollHeight);",//recieves the total scroll height of tab
onMessage: function(data)
{
console.log("Tab data received: " + data);
myData = data;
var thumbnail = window.document.createElementNS("http://www.w3.org/1999/xhtml", "canvas");
window = tab.linkedBrowser.contentWindow;
thumbnail.width = window.screen.availWidth ;
thumbnail.height = window.screen.availHeight ;
var ctx = thumbnail.getContext("2d");
var snippetWidth = window.outerWidth ;
var snippetHeight = window.outerHeight ;
ctx.canvas.left = 0;
ctx.canvas.top = 0;
ctx.canvas.width = window.innerWidth;
ctx.canvas.height = myData;//canvas height is made equal to the scroll height of window
ctx.drawWindow(window, 0, 0, snippetWidth, snippetHeight+myData, "rgb(255,255,255)");//
var imageDataUri=thumbnail.toDataURL('image/png');
imageDataUri = imageDataUri.replace("image/png", "image/octet-stream");
tabs.open(imageDataUri);
}
});
Dies geschieht mit Addon SDK 1.17. Funktioniert cool.
Verwandte Themen
- 1. Firefox 17.0 Addon Kompatibilitätsproblem kommt, erstellt mit cfx Addon-SDK-1.17
- 2. Firefox AddOn tabs.activeTab undefiniert
- 3. Panel Transparenz Firefox Addon
- 4. Firefox Addon Unterzeichnung Fehler
- 5. Tutorial für Simplistic Firefox Addon
- 6. Firefox Addon console.log() funktioniert nicht
- 7. firefox Addon Entwicklung und Unicode
- 8. Alarmfenster in meinem Firefox-Addon
- 9. Wie entwickelt man Firefox Addon?
- 10. Firefox Addon Entwicklung: wie leere numerische oder Datumsfelder erstellen
- 11. Firefox-Addon zum Anzeigen/Bearbeiten/Erstellen von LocalStorage-Daten?
- 12. Kommunikation zwischen Firefox-Addon und Entwickler/Panel
- 13. Beispiel firefox Add-on "cfx test" scheitern, warum?
- 14. Firefox Addon: Wie man Voreinstellungen entfernt, wenn Addon deinstalliert wird?
- 15. Firefox-Addon: Hinzufügen von Symbol zum Kontextmenü
- 16. IOS SDK - Screenshot von TableView?
- 17. Screenshot-Funktionalität zu einer Firefox-Erweiterung hinzufügen
- 18. Firefox-Addon: Erster Tab von XMLHttpRequest
- 19. Kann nicht entzippen und zip Firefox addon
- 20. Cross-Domain-Kommunikation mit einem Firefox-Addon
- 21. Firefox Addon Inline-Installation von der Website
- 22. Wie schreibe ich ein Firefox Addon?
- 23. Wie entwickelt man Firefox Addon mit angularjs
- 24. appendChild in einem XUL Firefox Addon bricht
- 25. Postman Addon ist wie in Firefox
- 26. Firefox - lokal modifizieren Addon und obligatorischen Gesang
- 27. Verwenden von Benutzereinstellungen in Firefox-Addon
- 28. Zugriff auf Dateisystem/Verzeichnispfad von Firefox Addon
- 29. Zugriff Fenster Mediator in Firefox SDK Erweiterung
- 30. Bestellung 1.17 von Quadratpaare
eine Idee, Screenshot Flash-Inhalt zu machen –