Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№110-10-2016 14:53:46

Dorian
Забанен
 
Группа: Members
Зарегистрирован: 27-09-2016
Сообщений: 81
UA: Firefox 49.0

Можно сконвертировать изображение img в base64?

Я так понял сначало можно было через canvas.

Потом нашли способ использовать canvas чтобы рисовать там изображение и отправлять его нехорошим людям.
Так что теперь можно только клонировать изображение с атрибутом src http://stackoverflow.com/questions/2042 … 5#27260385 но не в base64.

Методы toBlob(), toDataURL(), or getImageData() для canvas запретили: https://developer.mozilla.org/en-US/doc … bled_image
Доступ к указанным в форме отправки изображениям есть по прежнему.
Причем интересно при установке setAttribute('crossOrigin', 'anonymous'); функция toDataURL() просто тихо без предупреждений не срабатывает, если политика CORS на сервере не соответствует расположению картинки.

Текст по прежнему переводить можно: https://developer.mozilla.org/ru/docs/W … d_decoding
И даже вроде бы SVG.

Есть идеи как получить base64 картинки на чистом скрипте?

Добавлено 10-10-2016 14:56:35
Что интересно в описании функции toDataURL() не указано, что она теперь не работает с кросс доменными запросами: https://developer.mozilla.org/en-US/doc … /toDataURL

Добавлено 10-10-2016 15:09:09
Описание ошибки:

Выделить код

Код:

SecurityError: The operation is insecure.

Отредактировано Dorian (10-10-2016 15:09:09)

Отсутствует

 

№210-10-2016 21:58:35

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2123
UA: Firefox 45.0

Re: Можно сконвертировать изображение img в base64?

Может дополни пост насчёт того, работает или нет связка типа
img (src) > XMLHttpRequest (responseType = "blob") > FileReader (readAsDataURL)

Отредактировано Dumby (10-10-2016 21:59:37)

Отсутствует

 

№310-10-2016 22:17:40

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1090
UA: Seamonkey 2.40

Re: Можно сконвертировать изображение img в base64?

В вопросе всё крутится вокруг кроссдоменных запросов. Если они создателями сайта, где находится картинка, запрещены, то считывание через XMLHttpRequest (хоть в blob, хоть куда угодно) возможно, только если страничка, содержащая этот XMLHttpRequest, находится в том же самом домене. Поэтому я почти аналогичную задачу (сохранение картинок с сайта на локальный диск) решал с помощью скрипта GreaseMonkey.

Отредактировано yup (10-10-2016 22:21:18)

Отсутствует

 

№410-10-2016 22:22:33

Dorian
Забанен
 
Группа: Members
Зарегистрирован: 27-09-2016
Сообщений: 81
UA: Firefox 49.0

Re: Можно сконвертировать изображение img в base64?

yup
Ага. Эт я хотел написать bookmarklet который все ресурсы страницы (js, css, img) включая такие как border-image: url()
конвертирует в base64 и заменяет ими оригинал. Хочу такой скрипт использовать, как альтернативу .mht формату.
Пока всё идет к тому, что придется писать дополнение на WebExtensions, там ограничение быть не должно.

Хотя способ Dumby ещё до конца не проработал.

Добавлено 10-10-2016 22:23:24
yup
GreaseMonkey не интересно, мне надо по нажатию: bookmarklet или дополнение.

Отредактировано Dorian (10-10-2016 22:23:24)

Отсутствует

 

№510-10-2016 22:30:33

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1090
UA: Seamonkey 2.40

Re: Можно сконвертировать изображение img в base64?

Dorian пишет

GreaseMonkey не интересно, мне надо по нажатию: bookmarklet или дополнение.

Думаю, вместо GreaseMonkey можно использовать CustomButtons. Это мне, в силу специфики целевого сайта, нужен был автоматический запуск скачивающего скрипта.

(Кстати, мой скрипт только запускается автоматически, а дальше он рисует кнопку, нажатие на которую и запускает собственно "процесс" :) )

Отредактировано yup (10-10-2016 22:31:52)

Отсутствует

 

№610-10-2016 22:49:47

Lex1
Участник
 
Группа: Members
Зарегистрирован: 07-07-2007
Сообщений: 260
UA: Firefox 49.0

Re: Можно сконвертировать изображение img в base64?

Dorian

Я когда-то делал такое: https://forum.mozilla-russia.org/viewto … 88#p588588. Самая серьёзная оставшаяся проблема - с js, получаем или риск двойной работы document.write и т.п. или неработающие обработчики на сохранённой странице  (не увидим что там было под спойлером).

Отредактировано Lex1 (10-10-2016 22:54:45)

Отсутствует

 

№705-05-2022 04:29:19

brake
Участник
 
Группа: Members
Зарегистрирован: 05-05-2022
Сообщений: 10
UA: Firefox 101.0

Re: Можно сконвертировать изображение img в base64?

try this https://github.com/benzBrake/FirefoxCus … c.js#L1064

Отредактировано brake (05-05-2022 04:29:34)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]