Ich habe ein Firefox-Addon mit der addon sdk erstellt. Ich versuche die canvas drawWindow Funktion zu verwenden.Wie verwende ich die canvas drawWindow-Funktion in einem Addon, das mit dem Addon SDK erstellt wurde?
Ich habe den folgenden Code, um die Funktion zu verwenden, wobei sich ctx auf einen Canvas-Kontext bezieht, den ich mit canvas.getContext("2d")
bekommen habe.
ctx.drawWindow(window, 0, 0, 100, 200, "rgb(255,255,255)");
Wenn ich diesen Code ausführen, in einem Skript, das verbunden ist mit
tabs.activeTab.attach({
contentScriptFile: data.url("app.js") // app.js contains the above line of code
});
ich die folgende Fehlermeldung erhalten:
TypeError: ctx.drawWindow is not a function
Dieser Fehler tritt nicht auf, wenn ich Funktionen aufrufen wie strokeRect und fillRect für dasselbe ctx-Objekt.
Die Dokumentation auf this page sagt, dass Sie Chrome-Berechtigungen benötigen, um den Code zu verwenden, so dass möglicherweise Problem sein. Ich würde einen anderen Fehler erwarten, basierend auf der code für die Funktion.
Ich fand heraus, dass ich Privilegien in meinem Addon mit this chremen kann, aber was würde ich tun, um ctx.drawWindow zu verwenden?
Auch, wenn ich den Code in this question lief, von einem Notizblock auf einer Seite, anstatt von einem Addon, anstatt ein "Fehler: Die Operation ist unsicher", bekomme ich die gleiche "Ausnahme: ctx.drawWindow ist keine Funktion ".
Also, im Grunde, was ich frage ist, wie würde ich gehen über die Verwendung von Canvas DrawWindow in Addon erstellt mit dem Addon SDK?
Bearbeiten: Ich versuche, dies zu tun, weil ich eine Methode für den Zugriff auf einzelne Pixel der gerenderten Seite benötigen. Ich hoffe, die Seite auf die Leinwand zu zeichnen, dann auf das Pixel unter Verwendung getImageData zuzugreifen. Wenn es andere Methoden gibt, auf einzelne Pixel zuzugreifen (in einem Firefox-Addon), wäre das auch hilfreich.
Nur eine kurze Frage, was bedeutet diese Zeile, 'thumbnail.mozOpaque = true;', tun? – Neil
Wie geht das in SDK 1.17? – abhilash
aktualisiert es mit den neueren Modul Standorten und fügte eine console.log am Ende. –