Iframe — это веб-технология, используемая для встраивания содержимого одного сайта в другой сайт или HTML-страницу. Для этой цели используется HTML-тег <iframe>, который может быть создан с большим количеством разных настроек и свойств.
При интеграции интерфейсов или функциональности ArcGIS в другие бизнес-системы одним из распространённых шаблонов является встраивание веб-приложения, например, из ArcGIS Instant Apps, ArcGIS Experience Builder или другого приложения, созданного на основе Maps SDK for JavaScript, в другое бизнес-приложение с помощью iframe.
Это может включать написание кода или HTML, который явно определяет <iframe>, или другая система может использовать виджет или инструмент встраивания, который управляет процессом iframe и может накладывать дополнительные ограничения на iframe, или контролировать, какие атрибуты тега iframe можно задавать.
Примеры рабочих процессов, поддерживаемых этим шаблоном, включают:
Встройте обзорную карту в большую веб-страницу, чтобы найти расположение магазинов или распространенных географических объектов
Создайте редактируемую веб-карту и приложение, а также внедрите их в другой более крупный процесс сбора данных или настройки, построенный на формах или с использованием другой технологии
Отобразите форму ArcGIS Survey123 с использованием параметров URL как часть веб-сайта или приложения, которое собирает данные или участвует в более широком рабочем процессе.
Эта возможность и связанные с ней рекомендации также применимы к сценариям, когда приложения ArcGIS встроены в другие приложения ArcGIS.
| Возможности | ArcGIS Online | ArcGIS Enterprise | ArcGIS Location Platform | ArcGIS Pro |
|---|---|---|---|---|
| Встраивание приложений ArcGIS в другую систему | Н/Д | Н/Д |
Полная поддержка Частичная поддержка
В удаленной системе можно использовать <iframe> для встраивания приложений из ArcGIS Online, ArcGIS Enterprise или пользовательских приложений, созданных на базе ArcGIS Maps SDK for JavaScript.
Многие веб-приложения ArcGIS поддерживают набор настраиваемых свойств при загрузке, определяемых через параметры URL, например https://my.domain.com/portal/home/apps/viewer.html?center=-54,120&zoom=5 (центрировать приложение по этим координатам и установить масштаб уровня 5). Используя этот шаблон интеграции, обычно динамически устанавливают эти параметры URL (контролируя загрузку приложения iframe) с помощью свойств родительского приложения или бизнес-системы. Например, если пользователь просматривает запись в не-ArcGIS системе с идентификатором BD1245 в родительском приложении, при настройке iframe можно указать URL вида ../my-app.html?featureID=BD1245, чтобы приложение загружалось с уже видимыми интересующими данными.
Исторически iframe были популярной технологией, но также создавали множество проблем безопасности. Это привело к появлению различных браузерных ограничений, наложенных на iframe, что может ограничивать функциональность или удобство использования между системами. К основным сложностям относятся:
Скачивание или загрузка файлов может быть заблокирована. Безопасность браузера может блокировать загрузку файлов из iframe, при этом ссылка или кнопка загрузки во встроенном приложении не сообщает об error или сбое, а просто не сможет скачать файл, например, экспорт из таблицы функций. Такие проблемы обычно отображаются в JavaScript-консоли браузера.
Размер экрана может негативно влиять на пользовательский интерфейс. Iframe часто задаются с фиксированным размером в пикселях, и приложения, которые будут встроены, должны быть разработаны под этот ожидаемый размер вида. Если родительское приложение может интеллектуально масштабировать iframe под разрешение экрана пользователя, пользователи с большими экранами получат адаптивный интерфейс, но iframe фиксированного размера приведёт к появлению маленького встроенного окна, что может ухудшить пользовательский опыт. Встроенные приложения должны быть разработаны так, чтобы все основные элементы интерфейса и взаимодействия помещались в предоставленной области экрана.