Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Нужно подгрузить картинку не ссылкой, а кодом (https://javascript.ru/forum/events/63994-nuzhno-podgruzit-kartinku-ne-ssylkojj-kodom.html)

butch16 13.07.2016 11:08

Нужно подгрузить картинку не ссылкой, а кодом
 
Привет всем! Я дизайнер и в jawascript разбираюсь слабо. Возникла проблема из-за чертова Гугла, который закрыл использование Swiffy. Проблема в следующем: есть HTML5-баннер сделанный в Adobe Animate, все работает, но заказчик потребовал внедрить картинки внутрь кода. Я знаю как внедрять картинки с помощью base64 в HTML, это примено выглядит так: <img src="data:image/png;base64,ТУТ_BASE64_СТРОКА">

Но мне надо сделать это в JS. Чтобы картинки не подгружались по ссылкам как сейчас, а загружались с помощью base64(или каким другим способом) и получали тот же id.

Код:

(function (lib, img, cjs, ss) {

var p; // shortcut to reference prototypes

// library properties:
lib.properties = {
width: 240,
height: 400,
fps: 24,
color: "#FFFFFF",
manifest: [
{src:"images/Растровоеизображение13.jpg?146 8348071903", id:"Растровоеизображение13"},
{src:"images/Растровоеизображение141.jpg?14 68348071903", id:"Растровоеизображение141"}
]
};

// symbols:



(lib.Растровоеизображение13 = function() {
this.initialize(img.Растровоеизобра жение13);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,240,120);


(lib.Растровоеизображение141 = function() {
this.initialize(img.Растровоеизобра жение141);
}).prototype = p = new cjs.Bitmap();
p.nominalBounds = new cjs.Rectangle(0,0,240,120);
butch16 на форуме Сообщить модератору о нарушении Мультицитирование этого сообщения

butch16 13.07.2016 19:56

Спасибо! Хоть кто-то ответил.) Но я плохо разбираюсь в JS и у меня сразу возникли вопросы.

cjs.RequestUtils.EXTENSION_PATT = /(\w{1,5})(?:;base64,|$)/i;

Эта строчка позволяет подгружать картинки в виде base64?
А куда и как мне вставлять сам код картинок и id картинок?

И что делать вот с этим:

manifest: [
{src:"images/Растровоеизображение13.jpg?146 8348071903", id:"Растровоеизображение13"},
{src:"images/Растровоеизображение141.jpg?14 68348071903", id:"Растровоеизображение141"}
]

Просто удалить?

butch16 13.07.2016 21:05

Спасибо огромное! Все прекрасно работает. Вы бы знали как на другом форуме мне писали, что это очень сложно и долго и я ничего не понимаю и требую практически невозможного без серьезного рассмотрения моей проблемы. )))

Fellicci 22.10.2016 18:51

Прошу прощения, но я столкнулась с той же проблемой! И нигде не могу найти ответа. Я вижу Вы его нашли. Помогите, пожалуйста мне! Не вижу сообщений того, кто откликнулся Вам. Пожалуйста. Я уже замучалась искать.:(

Fellicci 22.10.2016 18:51

butch16,
Прошу прощения, но я столкнулась с той же проблемой! И нигде не могу найти ответа. Я вижу Вы его нашли. Помогите, пожалуйста мне! Не вижу сообщений того, кто откликнулся Вам. Пожалуйста. Я уже замучалась искать.

Aetae 22.10.2016 19:30

Логично предположить, что достаточно точно также в src указать кодированую версию. Сам по себе javascript не делает вообще никакой разницы при работе с обычными или встроенными изображениями.
Если есть какие-то ограничения - то они связаны с конкретной библиотекой и надо гуглить по "название_библиотеки data:uri".

Fellicci 22.10.2016 20:35

Не достаточно. Но я уже нашла пошаговую инструкцию на рекламной площадке, и все заработало

Aetae 22.10.2016 20:57

Fellicci, так выложи здесь. Хотя бы ссылку.
А то через пару месяцев опять кто-нить спросит.)

Lozarium 13.12.2016 18:31

Кто разобрался напишите ответ в теме. :help: :help: :help:
или на почту lozarium@gmail.com


Часовой пояс GMT +3, время: 15:56.