предварительная загрузка изображений datauri в javascript - PullRequest
1 голос
/ 01 сентября 2011

С помощью javascript, как я могу предварительно загрузить изображения, которые не имеют источника пути, но datauri в качестве источника?

У меня есть что-то вроде этого:

var image = new Image();
image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==";

Я хочу сделать это на страницах https, но получаю сообщение об ошибке, что у меня есть смесь защищенных и незащищенных элементов на странице. Любые идеи, почему это может иметь место и каким образом я могу решить эту проблему?

1 Ответ

2 голосов
/ 01 сентября 2011

Небезопасная ошибка возникает каждый раз, когда вы ссылаетесь на какой-либо внешний или не-https файл.Вот почему обычно вы хотите ссылаться на изображения / CSS / и т. Д. По ссылке (абсолютный путь, содержащий 'http://', может привести к той же ошибке).В зависимости от политики безопасности определенных браузеров изображения, созданные с помощью данных base64, рассматриваются как внешние и небезопасные.

РЕДАКТИРОВАТЬ: Кроме того, я предлагаю вам прочитать это:

https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html

В нем обсуждается предложение о том, как вы можете указать, какие вещи считаются безопасными ичто небезопасноВ частности, попробуйте добавить следующий заголовок:

X-Content-Security-Policy: allow 'self'; img-src data:
...