Встраивание приложения ArcGIS в <iframe>

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

Возможности ArcGIS Online ArcGIS Enterprise ArcGIS Location Platform ArcGIS Pro
Встраивание приложений ArcGIS в другую систему Н/Д Н/Д

Полная поддержка Частичная поддержка


В удаленной системе можно использовать <iframe> для встраивания приложений из ArcGIS Online, ArcGIS Enterprise или пользовательских приложений, созданных на базе ArcGIS Maps SDK for JavaScript.

Использование параметров URL

Многие веб-приложения 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, что может ограничивать функциональность или удобство использования между системами. К основным сложностям относятся:

  • Единый вход — это сложно. Стандарты браузера часто блокируют повторное использование существующих cookie сеанса в <iframe>, если домен <iframe> не совпадает с доменом родительского ресурса. Это означает, что пользователю часто необходимо аутентифицироваться в системе ArcGIS, встроенной в <iframe>, что потребует взаимодействия с входом. Если и родительский элемент фрейма, и сам фрейм аутентифицированы одним и тем же поставщиком идентификации, пользователи могут ожидать единый опыт входа и быть недовольны требованием второго входа. Некоторые поставщики корпоративных идентификаторов могут также заблокировать использование собственного диалога входа в iframe, поэтому могут потребоваться другие подходы, например тщательно продуманные заголовки политики безопасности ресурсов.
  • Для наилучшего решения этой проблемы используйте один и тот же домен (например, .domain.com) как для родительского сайта, так и для iframe, используйте одного и того же провайдера входа и настройте автоматическое перенаправление пользователей для входа при необходимости.
  • Скачивание или загрузка файлов может быть заблокирована. Безопасность браузера может блокировать загрузку файлов из iframe, при этом ссылка или кнопка загрузки во встроенном приложении не сообщает об error или сбое, а просто не сможет скачать файл, например, экспорт из таблицы функций. Такие проблемы обычно отображаются в JavaScript-консоли браузера.

  • Размер экрана может негативно влиять на пользовательский интерфейс. Iframe часто задаются с фиксированным размером в пикселях, и приложения, которые будут встроены, должны быть разработаны под этот ожидаемый размер вида. Если родительское приложение может интеллектуально масштабировать iframe под разрешение экрана пользователя, пользователи с большими экранами получат адаптивный интерфейс, но iframe фиксированного размера приведёт к появлению маленького встроенного окна, что может ухудшить пользовательский опыт. Встроенные приложения должны быть разработаны так, чтобы все основные элементы интерфейса и взаимодействия помещались в предоставленной области экрана.

  • Взаимодействие между iframe и родительским окном обычно ограничено. Хотя некоторые шаблоны <iframe> поддерживают связь между родительским окном и <iframe> через протоколы или шаблоны, такие как postMessage, большинство приложений ArcGIS не предоставляют такой возможности, поэтому действия в приложении iframe не влияют на родительское окно, или наоборот.
Top