You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Orbeon Forms调用自定义URL触发失败问题求助

解决Orbeon Forms中自定义URL Scheme无法触发的问题

核心原因

Orbeon Forms默认的链接处理逻辑仅识别HTTP/HTTPS等常见协议,自定义的vsm-go://这类scheme不在默认识别范围内,因此会被当作普通字符串而非可触发的URL。

解决方法

方法1:通过自定义JavaScript触发URL

在表单中添加按钮组件,用JS手动唤起自定义URL:

  1. 在表单编辑器中添加按钮,设置显示文本(如“打开外部应用”)。
  2. 给按钮添加「运行JavaScript」动作,输入以下代码:
const targetUrl = 'vsm-go://?portalURL=https://webgis.mappingsys.myCompany.MyCompantArea/portal&app=fad235c399a04e76b9629e5ae0571c0f&workflow=21779c3a-6397-4d5e-867d-628d11f55fdb&workflowParams={order:10000123}';
window.location.href = targetUrl;
  1. 保存表单后测试,点击按钮即可触发目标URL。

方法2:修改全局配置让Orbeon识别自定义Scheme

如果需要所有表单都支持vsm-go协议,可修改Orbeon配置:

  1. 找到部署目录下的properties-local.xml文件。
  2. 添加或更新以下配置,将vsm-go加入允许的协议列表:
<property as="xs:string" name="oxf.xforms.link.allowed-protocols" value="http https mailto tel vsm-go"/>
  1. 重启Orbeon服务,表单中的vsm-go://链接会被自动识别为可点击URL。

方法3:用HTML组件插入原生链接

无需JS或全局配置,直接插入HTML链接:

  1. 在表单中添加「HTML」组件。
  2. 在组件内容中输入:
<a href="vsm-go://?portalURL=https://webgis.mappingsys.myCompany.MyCompantArea/portal&app=fad235c399a04e76b9629e5ae0571c0f&workflow=21779c3a-6397-4d5e-867d-628d11f55fdb&workflowParams={order:10000123}">打开外部应用</a>
  1. 保存后,该链接会被浏览器直接识别并触发。

注意事项

  • 确保客户端设备已注册vsm-go对应的应用,否则点击后会提示无法打开。
  • 若URL参数含特殊字符,建议先做URL编码(如workflowParams中的JSON),避免解析错误。

内容的提问来源于stack exchange,提问作者Pete Atkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 16:59:56