Предположим, у меня есть веб-страница с полем ввода, где пользователи могут ввести URL-адрес изображения, нажать кнопку и получить URI данных для ресурса на другом конце своего URL-адреса (например, логотип Google ).
Читая вокруг, я узнал, что вы можете получить URI данных для изображений следующим образом:
function imageToDataURI(src,callback)
{
var canvas = document.createElement('canvas'),
img = document.createElement('img');
img.onload =
function()
{
canvas.width = img.width;
canvas.height = img.height;
canvas.getContext('2d').drawImage(img, 0, 0);
callback(canvas.toDataURL());
};
img.src = src;
}
Однако многие люди (включая меня) получают сообщение «SECURITY_ERR: DOM Exception 18», потому что элементы холста испорчены, когда на них нарисованы междоменные изображения, а испорченные холсты возвращают указанную выше ошибку на canvas.toDataURL () (см. Почему canvas.toDataURL () выдает исключение безопасности?). Моя проблема: мне действительно нужно поддерживать междоменные URL!
Что я могу сделать?