Элемент iframe (сокращение от internal frame) предназначен для того, чтобы встраивать на страницу HTML содержимое из других источников. Например, благодаря использованию iframe, можно не думать о создании собственного видеоплеера и хранении объемных видеофайлов. Вместо этого можно использовать YouTube и добавить необходимое видео в свое веб-приложение с помощью iframe.

Использование iframe для видео с YouTube

Рассмотрим на конкретном примере. Создадим страницу на которой можно будет посмотреть видео с YouTube канала AppMaster про использование файлов в бизнес-процессах. Для этого необходимо лишь разместить на холсте элемент iframe, указать необходимые настройки (например, по размеру и отступам) и в поле Src установить ссылку на нужное видео.


При этом YouTube изначально предполагает возможность подобного встраивания видео и предоставляет необходимые инструменты для максимального удобства процесса. Нажав на кнопку “Share” под видео, можно воспользоваться вариантом “Embed”.


YouTube предоставит весь необходимый HTML-код для размещения видео на своей странице, но в нашем случае интерес представляет не весь код, а лишь ссылка на необходимое видео. Нужно скопировать ее и разместить в настройках iframe.


Тут же видны предложенные по умолчанию настройки ширины и высоты - 560 и 315. Соответственно можно установить такие же значения в настройках своего iframe.


Можно опубликовать приложение и убедиться в том, что теперь в нем действительно есть встроенное видео.


Аналогичным образом можно встроить и другие типы данных с других источников. Например, добавить карту.


В результате таких настроек можно отобразить карту в виде круга с толстой пунктирной рамкой.


Использование кастомного HTML в iframe

Рассмотрим более сложный вариант. Будем самостоятельно создавать html-страницы для iframe, а не использовать данные из сторонних источников. Для этого добавим на холст элемент RichtextEditor. Он позволяет создавать HTML, как с помощью удобного визуального редактора, так и через прямое редактирование HTML-кода.


Необходимо сделать так, чтобы любой HTML, созданный в редакторе, можно было сохранить в виде файла, а дальнейшем отобразить через iframe. Добавим кнопку и создадим соответствующий бизнес-процесс, который будет запускаться при ее нажатии.

В рамках бизнес-процесса необходимо:

  1. Получить HTML из редактора с помощью блока Richtext Get Properties.
  2. Выполнить преобразование HTML в байты (To Bytes).
  3. Воспользоваться блоком Make File для создания файла. Нужно учитывать, что для создания файла необходимо только его содержимое (Bytes, его получили на предыдущем шаге) и название (оно может быть любым, но установить его нужно обязательно).
  4. Отправить созданный файл на сервер, сохранить в базу данных (Server request POST /_files/).
  5. Получить ID созданного файла (Expand File - ID).
  6. Преобразовать ID в String (To String).
  7. Собрать ссылку на файл с помощью Concat String. В результате должна получиться ссылка типа https://vdjyien-app.apms.io/api/_files/dQhJVTYrToCqr9G4KWKRD/download/, где vdjyien-app.apms.io - адрес вашего сервера, а dQhJVTYrToCqr9G4KWKRD ID файла, полученный на предыдущем шаге. Итоговая ссылка должна открываться в браузере. Убедитесь при этом, что сам эндпойнт получения файла (GET /_files/:id/download/) не требует авторизации и открыт для доступа.
  8. Если ссылка в порядке, то остается только передать ее в iframe и увидеть полученный результат (iFrame Update Properties).


Теперь любой HTML созданный в редакторе Richtext Editor можно сохранить в базе и отобразить в приложении. Таким образом, с помощью блока iframe можно добавить в свое приложение даже такие элементы, которые изначально не предусмотрены в дизайнере, использовать нестандартные шрифты или создавать блоки с кастомным HTML-кодом.


Was this article helpful?

AppMaster.io 101 Полный курс

10 модулей
2 недели

Не знаете с чего начать? Начните с нашего ускоренного курса для начинающих и изучите AppMaster от А до Я.

Начать обучение
Development it’s so easy with AppMaster!

Остались вопросы?

Наши эксперты с радостью ответят на все ваши вопросы о платформе AppMaster и помогут вам в создании приложений.

headphones

Служба поддержки

Поделитесь своей проблемой с нашими специалистами.

message

Комьюнити AppMaster

Обсудите вопросы с другими пользователями в нашем чате.

Присоединиться