toDataURL() разрывает SSL-соединение

моя проблема в том, что я использую метод canvas .toDataURL() для отображения предварительного просмотра изображения в Chrome и Firefox, но это вызывает появление предупреждения, потому что сайт находится через SSL-соединение.

Я получаю следующее предупреждающее сообщение, когда я отображаю изображение с помощью toDataURL():

Страница в ... отображала небезопасный контент из ....

Это происходит только в Chrome, так как Chrome имеет этот замок рядом с защищенными веб-страницами: что приводит к тому, что зеленый замок в адресной строке меняет состояние на состояние предупреждения, говорящее о том, что на этой странице есть незащищенные ресурсы.

Это ожидаемое поведение для toDataURL()?

Я не понимаю, почему это может быть небезопасно, поскольку я не извлекаю никаких данных через HTTP-соединение или даже вообще не извлекаю никаких данных, поскольку все это делается с помощью JavaScript. Но я, наверное, ошибаюсь, поправьте меня.

Есть ли другой способ убедиться, что я защищаю этот контент? Или чтобы предупреждение не появлялось? (И мне нужно использовать метод .toDataURL()?)


person Robert    schedule 01.09.2011    source источник
comment
Может быть флаг, который вы можете установить на самом элементе img. blog.chromium.org/2011/ 07/   -  person Mikko Ohtamaa    schedule 03.09.2011
comment
вы смогли решить эту проблему? если да, то как?   -  person Hitesh    schedule 04.02.2016


Ответы (2)


Откройте консоль инструментов разработчика в каждом браузере и найдите точный URL-адрес, который они считают небезопасным. Было бы очень удивительно узнать, что в любом браузере есть такая ошибка. В IE7 и ниже есть эта ошибка, но они вообще не поддерживают URL-адреса DATA.

person EricLaw    schedule 01.09.2011

Если вы показываете изображение из незащищенного места (файл://), вы не можете переместить его в безопасный контекст (https://) без ошибок. Это может быть причиной того, что браузер считает его небезопасным.

Рекомендуемое чтение:

SECURITY_ERR: исключение DOM 18 при использовании getImageData в расширении Chrome

HTML5 Canvas — как установить флаг очистки в false?

person Andrew Lewis    schedule 01.09.2011