在 ArcGIS 中嵌入外部内容

该模式依赖 ArcGIS 应用程序(如 ArcGIS Experience Builder、ArcGIS Dashboard、其他可配置的 Web 应用程序或 ArcGIS Pro)的主要用户体验。 所需集成可将另一个系统的内容嵌入到 ArcGIS 界面中,通常采用以下几种常见模式之一:

ArcGIS 中的集成模式

各种 ArcGIS Enterprise 或 ArcGIS Online 可配置应用程序可以通过 <iframe> 方法嵌入内容。 任何使用 Web 地图的应用程序都可以使用带有弹出窗口配置的嵌入图像,包括 ArcGIS Pro 和 ArcGIS Maps SDK。

功能 ArcGIS Online ArcGIS Enterprise ArcGIS Location Platform ArcGIS Pro
在 ArcGIS 中嵌入外部内容 N/A N/A

完全支持 部分支持


使用 URL 参数

许多外部 Web 应用程序均支持通过 URL 参数定义的一组加载时可配置属性,例如https://myapp.domain.com/showdocument/docId=BND12(显示带有标识符 BND12 的文档)。 使用这种集成模式时,通常会利用父应用程序或业务系统应用程序的属性来动态设置这些 URL 参数(从而控制 iframe 应用程序的加载方式)。 例如,如果用户在 ArcGIS 应用程序中查看标识符为 BND12 的记录,可将 iframe 定义为使用 URL,该 URL 可从外部系统加载远程应用程序,且显示感兴趣的数据,或预加载表单或界面。

<iframe> 嵌入的最佳做法与挑战

一直以来,iframe 都是一项热门技术,同时也带来了各种安全挑战。 这会导致浏览器对 iframe 设置了各种限制,从而可能影响跨系统的功能或易用性。 关键挑战包括:

  • 复杂的单点登录。 浏览器标准通常阻止在 <iframe> 中重用现有会话 Cookie,除非 <iframe> 的域名与父内容的域名匹配。 这意味着用户通常需要针对 <iframe> 中嵌入的 ArcGIS 系统进行身份验证,这需要登录操作。 如果框架的父级和框架本身均通过同一个身份提供程序进行身份验证,用户可能会期待单点登录体验,并对再次登录的要求感到不满。 某些企业级身份提供程序可能会阻止在 iframe 中使用其登录对话框,因此可能需要采取其他方法,例如精心设计的内容安全策略标头。
  • 为了最好地解决该问题,可以为父级和 iframe 站点使用相同的域名(如 .domain.com)、使用相同的单点登录提供程序,并允许应用程序在必要时自动将用户重定向至登录页面。
  • 可能会阻止文件下载或上传。 浏览器安全设置可能会阻止从 iframe 下载文件,导致嵌入式应用程序中的下载链接或下载按钮虽未报告任何 error 或故障,但无法下载文件(例如从要素表导出的文件)。 此类问题通常会通过浏览器 JavaScript 控制台消息进行报告。

  • 屏幕尺寸不利于显示用户界面。 Iframe 通常以像素为单位定义为固定框架尺寸,因此应针对该预期视图尺寸设计待嵌入的应用程序。 如果父应用程序能够智能地根据用户的屏幕分辨率调整 iframe 的大小,那么屏幕较大的用户可能会获得良好的响应式体验;但如果是固定尺寸的 iframe,则会导致嵌入窗口过小,导致用户体验较差。 嵌入式应用的设计应确保所有主要 UI 元素和交互都能在提供的屏幕区域内完成。

  • iframe 与父窗口之间的通信通常受限。 虽然某些 <iframe> 模式支持父窗口与 <iframe> 通过协议或类似 postMessage 的模式进行通信,但大多数 ArcGIS 应用程序并不提供此功能,因此 iframe 应用程序中的交互不会影响父窗口,反之亦然。
Top