|
Вопрос по полю HTML документа
| ☑ |
0
Segate
03.04.20
✎
18:29
|
Собираю HTML ручками... есть 3 вопроса:
1й: хочется подключать JS из временного хранилища, но не понимаю как(у меня не работает)
2й: Как лучше всего хранить макеты для HTML. Пока храню их в текстовых макетах просто. Просто получаю текст и использую...
3й: как правильно добавлять в поле HTML картинки из базы так, чтобы это работало в мобильном клиенте? адрес вх почему то в мобильном клиенте не отрабатывает... есть ли нормальный способ?
|
|
1
Сияющий в темноте
04.04.20
✎
23:23
|
1. если в тексте документа указан тег script,то он не обрабатывается,так как содержимое собирается динамически(это и в браузере так)-нужно смотреть,как в браузеое скрипты на лету подключаются.
2. можно хранить как двоичные данные,но различий нет.
3. можно картинки внедрять в текст документа,но он становится большим,и все тормозит.
|
|
2
такт
04.04.20
✎
23:48
|
(0)
2. в макетах проще всего
3. например так
Картинка = БиблиотекаКартинок.ТвояКартинка;
Стр = Base64Строка(Картинка.ПолучитьДвоичныеДанные());
Стр = СтрЗаменить(Стр, Символ(10), "");
Стр = СтрЗаменить(Стр, Символ(13), "");
Стр = "data:image/jpg;base64,"+Стр;
html = "
...
| <img src="+Стр+">
|
|
3
Segate
05.04.20
✎
12:45
|
(3) Спасибо! Чет про Base64 я и не подумал. Все работает! а т.к. Это маленькие иконки, то в целом все в порядке и грузится совсем не долго...
|
|
4
lodger
05.04.20
✎
12:49
|
(3) но ты же понимаешь костыльность такого решения?
|
|
5
Segate
05.04.20
✎
12:57
|
(4) Конечно, а есть не костыльный метод? Как например правильный кэш на устройстве организовать? есть мануалы?)
|
|
6
Сияющий в темноте
05.04.20
✎
20:27
|
для иконок base64 самый правильный метод,так как не приводит к лишним обращениям к серверу и т.п.
для больших и многоцветных картинок основная проблема в том,что выключается внутреннен кеширование браузера и он каждый раз обрабатывает картинку заново,для поля,может быть,это не критично,а для web-клиента очень.
|
|
7
Segate
06.04.20
✎
10:37
|
(6) в браузере работает через ВХ, и обработка через Base64 только для мобильного клиента используется
|
|