Stworzyłem dodatek Firefox, używając addon sdk. Próbuję użyć funkcji canvas drawWindow.Jak korzystać z funkcji draw_indow canvas w addonie utworzonym za pomocą dodatku sdk?
Mam następujący kod do korzystania z funkcji, gdzie ctx odnosi się do kontekstu płótna, które mam z canvas.getContext("2d")
.
ctx.drawWindow(window, 0, 0, 100, 200, "rgb(255,255,255)");
Kiedy uruchomić ten kod, w skrypcie, który jest przymocowany za pomocą
tabs.activeTab.attach({
contentScriptFile: data.url("app.js") // app.js contains the above line of code
});
pojawia się następujący błąd:
TypeError: ctx.drawWindow is not a function
Ten błąd nie występuje, kiedy wywoływać funkcje jak strokeRect i fillRect na tym samym obiekcie ctx.
Dokumenty na temat this page mówią, że do korzystania z kodu potrzebne są uprawnienia chrome, więc może to być problem. Spodziewałbym się innego błędu, opartego na funkcji code.
Dowiedziałem się, że mogę przywileje chrome w moim addon przy użyciu this, ale co mam zrobić, aby użyć ctx.drawWindow?
Również, gdy uruchomiłem kod w , ze scratchpada na stronie, a nie z addonu, zamiast "Błąd: operacja jest niepewna", otrzymuję to samo "Wyjątek: ctx.drawWindow jest nie jest funkcją ".
Tak więc, w zasadzie to o co pytam, to w jaki sposób mam użyć płótna drawwindow w addonie utworzonym za pomocą dodatku sdk?
Edytuj: Próbuję to zrobić, ponieważ potrzebuję metody dostępu do poszczególnych pikseli renderowanej strony. Mam nadzieję, że narysuję stronę na płótnie, a następnie uzyskam dostęp do piksela za pomocą getImageData. Jeśli są inne metody uzyskiwania dostępu do poszczególnych pikseli (w dodatku do Firefoksa), byłoby to pomocne.
Tylko jedno krótkie pytanie, co robi ta linia, 'thumbnail.mozOpaque = true;', zrobić? – Neil
jak to zrobić w sdk 1.17? – abhilash
zaktualizował go o nowsze lokalizacje modułów i dodał plik console.log do końca. –