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

Orbeon Forms:如何在Form Runner模式下读取浏览器URL?

在Form Runner模式下读取浏览器URL的解决方案

方法1:通过XForms服务器端函数获取请求相关URL

如果仅需获取服务器端处理的请求URL(不含客户端哈希参数),可以使用以下XPath函数:

  • 获取当前请求的URI:
xxf:get-request-header('Orbeon-Request-URI')
  • 获取来源页面URL:
xxf:get-request-header('Referer')

方法2:JavaScript获取完整客户端URL并同步到XForms

若需要包含哈希、客户端参数的完整浏览器URL,需结合JavaScript实现:

  1. 在表单中添加自定义脚本,获取URL并写入XForms实例:
// 获取当前浏览器完整URL
const fullUrl = window.location.href;
// 将值同步到XForms实例节点(需提前定义对应节点)
ORBEON.xforms.Document.setValue('current-url-node', fullUrl);
  1. 在XForms模型中定义存储URL的实例:
<xf:instance id="url-instance">
    <data>
        <current-url/>
    </data>
</xf:instance>
  1. 在XForms中引用该URL:
instance('url-instance')/current-url

方法3:使用Form Runner专属函数拼接当前URL

利用Form Runner提供的fr:url()函数,可拼接出当前表单的完整访问URL:

fr:url('') || substring-after(xxf:get-request-header('Orbeon-Request-URI'), fr:url(''))

注:若之前尝试的XXF函数无效,大概率是因为这类函数仅能获取服务器端请求信息,无法读取客户端生成的哈希或动态参数,此时优先选择方法2。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 12:15:32