Wie verwende ich die Funktion canvas drawWindow in einem Addon, das mit dem Addon sdk erstellt wurde?

Ich habe ein Firefox-Addon mit dem erstelltAddon SDK. Ich versuche das zu benutzenLeinwand drawWindow Funktion.

Ich habe den folgenden Code, um die Funktion zu verwenden, wobei ctx auf einen Canvas-Kontext verweist, den ich mit habecanvas.getContext("2d").

ctx.drawWindow(window, 0, 0, 100, 200, "rgb(255,255,255)");

Wenn ich diesen Code ausführe, in einem Skript, das mit angehängt wird

tabs.activeTab.attach({
    contentScriptFile: data.url("app.js") // app.js contains the above line of code
});

Ich erhalte folgenden Fehler:

TypeError: ctx.drawWindow is not a function

Dieser Fehler tritt nicht auf, wenn ich Funktionen wie strokeRect und fillRect für dasselbe ctx-Objekt aufrufe.

Die Dokumente weiterdiese Seite sagt, dass Sie Chrome-Berechtigungen benötigen, um den Code zu verwenden, sodass dies ein Problem sein kann. Ich würde einen anderen Fehler erwarten, basierend auf demCode für die Funktion.

Ich habe herausgefunden, dass ich mit meinem Add-On Privilegien verchromen kanndiese, aber was würde ich als nächstes tun, um ctx.drawWindow zu verwenden?

Auch, wenn ich den Code lief indiese Frage, von einem Notizblock auf einer Seite, anstatt von einem Addon, anstatt von einem "Fehler: Der Vorgang ist unsicher", erhalte ich dieselbe "Ausnahme: ctx.drawWindow ist keine Funktion".

Also, im Grunde, was ich frage ist, wie würde ich Canvas DrawWindow in Addons verwenden, die mit dem Addon SDK erstellt wurden?

Bearbeiten: Ich versuche dies, weil ich eine Methode brauche, um auf einzelne Pixel der gerenderten Seite zuzugreifen. Ich hoffe, die Seite auf Leinwand zu zeichnen und dann mit auf das Pixel zuzugreifengetImageData. Wenn es andere Methoden gibt, auf einzelne Pixel zuzugreifen (in einem Firefox-Addon), wäre dies ebenfalls hilfreich.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage