В моем скрипте Greasemonkey, когда я получаю дескриптор HTMLImageElement, который я хочу использовать с HTML-холстом, я получаю следующую ошибку в консоли ошибок Firefox (я предполагаю, что это потому, что она заключена в XPCNativeWrapper) :
Error: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE)
[nsIDOMCanvasRenderingContext2D.drawImage]
Помещая в свой код операторы GM_log()
, я проследил объект изображения, который я пытаюсь использовать, от его начального назначения до тех пор, пока я не попытаюсь использовать его с HTML-холстом.
Он всегда упакован в XPCNativeWrapper:
[object XPCNativeWrapper [object HTMLImageElement]]
Я развернул HTMLImageElement
, получив ссылку на него с помощью image.wrappedJSObject
.
Код моего холста:
var canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(image, 0, 0);
Есть идеи, почему Firefox генерирует вышеуказанный код ошибки компонента?