Я делаю «простой» букмарклет для 4chan (потенциально расширяемый для других сайтов), который будет загружать все изображения в текущем потоке в виде zip-архива. Изображения, отображаемые в потоке 4chan, - это просто миниатюры. Сами изображения предоставляются как ссылки, к которым можно получить доступ, щелкнув эскизы.Проблемы с перекрестным происхождением, получающие base64 кодирование изображения
Мой код должен работать почти отлично. Я нашел класс, который содержит ссылки на полноразмерные изображения. Я выбираю все из них с помощью jquery. Я использую JSZip для компиляции изображений. Но JSZip требует данных изображения, закодированных в base64. После пробития SO для методов для этого кажется почти единодушным, что рисование изображения на холсте и преобразование изображения в base64 таким образом - лучший способ сделать это. Тем не менее, поскольку 4chan предоставляет ссылки на свои образы вместо того, чтобы быть прямо там, на сайте, холст становится «испорченным», когда я рисую на него связанное изображение, и я не могу получить от него кодировку base64.
Как я могу сделать это по-другому, чтобы он работал? Есть ли способ создания креста? Я попытался добавить crossorigin="anonymous"
к изображениям, которые я создаю, но это не сработает.
Если изображения, которые вы хотите поставить не размещаются на том же сервере, что и веб-страниц , вы всегда получите CORS tainted canvas. Общим решением является обертка imagedata в JSONP, которая поставляет imagedata как «скрипт». Скрипты не подпадают под CORS и поэтому не будут падать на ваш холст. – markE