使用 URL 参数

Experience Builder 允许将 URL 参数添加到您的应用程序。 可以使用 URL 参数增强体验,即通过 URL 设置区域设置、将其定向至特定页面、激活打印预览等。

参数会添加至 URL 的末尾并格式化为以等号连接的键值对。 Experience Builder 应用程序支持查询字符串参数,这意味着这些参数以问号开头。 要包含多个参数,必须使用与号分隔这些参数。 包含参数的体验 URL 结构如下:

 https://<domain>/experience/<AppID>/[?<param1=value>&<param2=value>&...]

以下为示例:

https://experience.arcgis.com/experience/<AppId>/

体验 URL 可以包含下面列出的一个或多个参数。

常规参数

下面列出了通用 URL 参数。

切换区域设置

要切换应用程序语言,使用 locale 参数和双字母 ISO 639-1 语言代码Experience Builder 支持 ArcGIS Enterprise 所支持的所有语言,包括以下语言代码:ar、bg、bs、ca、cs、da、de-at、de-de、de-ch、el、en-au、en-ca、en-gb、en-us、es-es、es-mx、et、fi、fr-fr、fr-ch、he、hr、hu、id、it-it、it-ch、ja、ko、lt、lv、nb、nl、pl、pt-br、pt-pt、ro、ru、sk、sl、sr、sv、th、tr、uk、vi、zh-cn、zh-hk 和 zh-tw。

要以法语和瑞士法语使用 Experience Builder 应用程序,可以将 locale=fr 追加到 URL,如以下示例所示:

https://experience.arcgis.com/experience/<AppId>/?locale=fr
https://experience.arcgis.com/experience/<AppId>/?locale=fr-ch
注:

如果仅分配语言,而没有详细的区域设置,例如 fr 而不是 fr-ch 或 fr-fr,则无法保证获得预期日期或数字格式。 这是因为官方语言相同的不同区域设置有时采用不同的日期和数字记法,例如美国 (en-us) 与英国 (en-gb)。

转至页面

要定向至特定页面,使用 page 加页面名称。 在 ArcGIS Online Experience Builder 应用程序中,页面参数不是查询字符串的一部分,因此不以问号开头。 该参数会添加到 URL 路径中,如以下示例所示:

https://experience.arcgis.com/experience/<AppId>/page/Page-4
https://experience.arcgis.com/experience/<AppId>/page/{xxxHome}/

转至视图

要定向至特定活动截面视图,使用 views 加视图标注,例如 v1View 1

https://experience.arcgis.com/experience/<AppId>/?views=View-2
https://experience.arcgis.com/experience/<AppId>/?views=v1

打开窗口

要定向至特定活动窗口,使用 dlg 加窗口 ID 或标注。

https://experience.arcgis.com/experience/<AppId>/?dlg=Window-1

控制窗口焦点

如果您希望在 Experience Builder 应用程序中嵌入启动窗口、页面窗口或固定窗口,并且不希望应用程序自动跳转或滚动到这些窗口,则可以使用 disable_window_focus 参数来控制该行为。 将以下 URL 添加到托管 web 页面以禁用跳转行为。 默认情况下,disable_window_focus 为 false。

https://experience.arcgis.com/experience/<AppId>/?disable_window_focus=true

视图草稿模式

预览应用程序时,会自动添加 draft 参数。 该参数用于获取未发布应用程序的项目资源。

https://experience.arcgis.com/experience/<AppId>/?draft=true
https://experience.arcgis.com/experience/<AppId>/?draft=1

打开打印预览

要激活打印预览模式,使用 print_preview

https://experience.arcgis.com/experience/<AppId>/?print_preview=true
https://experience.arcgis.com/experience/<AppId>/?print_preview=1

数据相关参数

下面列出了数据相关 URL 参数。

提供数据源 ID

应用程序中的每个数据源具有其自己的数据源 ID。 选择数据记录时,数据源的 ID 将添加至应用程序 URL,如以下示例所示:

https://experience.arcgis.com/experience/<AppId>/?data_id=<dsID>:<selectedrecordID>
https://experience.arcgis.com/experience/<AppId>/?data_id=dataSource_1-csv_966%3A0

可以使用此方法查找特定于图层的数据源 ID: 例如,可以添加列表微件并将其连接到图层,预览应用程序以及选择列表中的任何记录。 填充的 URL 与以下示例类似:

https://experience.arcgis.com/experience/<AppId>/?data_id=dataSource_2-Shelters_966%3Axxxxxx

?data_id= 后面和 :<selectedrecordID>(或 %3A<selectedrecordID>)前面的值为图层的数据源 ID。 如果已知该 ID,则可以将其用于其他参数以过滤数据源或更改版本。

过滤数据源

要直接过滤数据源,使用 data_filter。 过滤器格式为标准 WHERE 子句语法,不能包含 ","":"。 要过滤多个数据源,使用格式 [<dsId:filter>,<dsId:filter>]

https://experience.arcgis.com/experience/<AppId>/?data_filter=dataSource_1:st=’HI’

上述 URL 相当于以下编码的 URL:

https://experience.arcgis.com/experience/<AppId>/?data_filter=dataSource_1:st=%27HI%27

下面是包含此参数的另一个 URL 示例:

https://experience.arcgis.com/experience/<AppId>/?data_filter=ds1:objectid=1,ds2:fielda>2

更改数据源的 GDB 版本

要更改数据源的 GDB 版本,使用 data_version

https://experience.arcgis.com/experience/<AppId>/?data_version=<dsId:version>,<dsId:version>
https://experience.arcgis.com/experience/<AppId>/?data_version=dsId1:v1, dsID2:v1

登录相关参数

下面列出了登录相关 URL 参数。

通过“嵌入”微件共享身份验证

一些 web 应用程序会提示用户使用 ArcGIS 帐户进行登录。 应用程序可能因其共享设置需要进行登录,因为应用程序包含使用高级内容的微件或出于其他原因。

如果您希望在您的 Experience Builder 应用程序中嵌入 ArcGIS web 应用程序,并且这两个应用程序均需要用户进行登录,则可以添加 arcgis-auth-originarcgis-auth-portal URL 参数以在两个应用程序之间共享身份验证,由此用户仅需登录一次。

要将私有 Experience Builder 应用程序嵌入另一个 Experience Builder 应用程序,请使用 ?arcgis-auth-origin= 来定义主机应用程序域 URL 以进行身份验证。 以下为示例:

https://<orgdomain>/experience/<AppID>/?arcgis-auth-origin=<your host app domain, such as https://localhost:3001>

要嵌入基于 JavaScript API 的应用程序(例如 Web AppBuilder 应用程序),对于主机应用程序域身份验证,请使用 ?arcgis-auth-origin=;对于基于 JavaScript API 的应用程序域身份验证,请使用 ?arcgis-auth-portal=。 以下为示例:

https://<orgdomain>/apps/webappviewer/index.html?id=<appID>&arcgis-auth-origin=<your host app domain, such as https://localhost:3001>&arcgis-auth-portal=<orgA URL>
https://www.arcgis.com/apps/opsdashboard/index.html#/<appID>?arcgis-auth-origin=https://experience.arcgis.com&arcgis-auth-portal=https://<myorg>.maps.arcgis.com