Доступ к getImageData из скрипта Greasemonkey - PullRequest
1 голос
/ 03 октября 2011

Я хочу реализовать скрипт Greasemonkey, который сканирует каждое изображение на странице и выполняет некоторые действия в зависимости от содержимого изображения. Я собираюсь использовать getImageData метод объекта Canvas для получения содержимого изображения.

Когда я тестирую свой скрипт пользователя с помощью FireFox, я получаю исключение «Ошибка безопасности», которое означает, что скрипт пользователя не имеет доступа к изображениям исходной страницы.

Есть ли обходные пути? В каком контексте безопасности работают пользовательские сценарии?

Спасибо.

1 Ответ

1 голос
/ 03 октября 2011

Вероятно, это связано с той же политикой происхождения . Если вы пытаетесь манипулировать изображениями с доменов, отличных от того, на котором размещен сайт, вы получите ошибки безопасности.

Вы можете обойти эту проблему, используя прокси-веб-сервер для передачи данных изображения через строку в кодировке base64. Здесь есть плагин jQuery , доступный здесь , который по умолчанию использует Google для подачи вам строк, но он ограничен определенным объемом трафика в день и, следовательно, не является надежным из коробки. Вы можете использовать их код (ссылка внизу страницы) на вашем собственном сервере, чтобы обойти это, хотя (что я сделал с большим успехом).

...