Open Link 打开链接跳页

Open Link 是 Interactions(交互)类行为。绑定到组件后,运行端用户点击该组件才会执行。当前界面按用户目标提供五种模式:打开本 PPT 导出的页面、打开文件或 URL、按宿主菜单 / 画面编号打开系统画面、打开网站,或执行自定义脚本。内部保存的 ppt-page、html-page、screen-code、external-url、javascript 是兼容协议值,不是当前界面要求用户选择的名称。

交互
给组件添加“点击打开目标”行为。当前编辑器提供 Presentation Page、File / URL、System Screen、Website、Script Action 五种可见模式,并可按目标选择在宿主框架内、全屏或新标签打开。

Open Link 是 Interactions(交互)类行为。绑定到组件后,运行端用户点击该组件才会执行。当前界面按用户目标提供五种模式:打开本 PPT 导出的页面、打开文件或 URL、按宿主菜单 / 画面编号打开系统画面、打开网站,或执行自定义脚本。内部保存的 ppt-pagehtml-pagescreen-codeexternal-urljavascript 是兼容协议值,不是当前界面要求用户选择的名称。

在 Behavior Browser 里把 Open Link 拖到左侧目标组件上,打开编辑器后先选 Destination type,再填写该模式需要的目标:

  • Presentation Page:点 Select Page 选择当前 PPT 页面;编辑器会显示 Page ID、Page No.、Page Title 和导出后的 Runtime File。
  • File / URL:选择文件,或输入导出页、相对文件路径及 URL。编辑器会根据目标内容保存为本地页面 / 文件或外部地址。
  • System Screen:填写宿主机已配置的 Menu / Screen Code,用于打开另一个系统菜单或画面包;该模式固定交给宿主机处理。
  • Website:填写 Website URL;适合 HTTP / HTTPS 网站或可从运行终端访问的内网系统。
  • Script Action:填写点击时执行的 JavaScript;仅在固定配置无法表达动态目标或组合动作时使用。
  • Open As:Presentation Page、File / URL、Website 可选 In frame、Fullscreen、New tab。System Screen 和 Script Action 不使用这一组打开方式。
  • Jump Parameters:Presentation Page、File / URL、Website 可用 key/value 参数;System Screen 和 Script Action 不显示该区域。空 key 不保存,Key 区分大小写。
// System Screen
Menu / Screen Code: P1Y1C1

// Script Action:按状态决定目标
if (ReadTagBoolean("PLC_LINE01.PUMP01.FAULT", false)) {
  hqVisuDesigner.openPage("alarm_overview");
} else {
  hqVisuDesigner.openPage("production_overview");
}

界面中的 Jump Parameters 会按填写顺序附加到目标地址的查询参数中。界面填写的 Value 是文本;脚本调用 openPage 时还可传字符串、数字、布尔值或 null,但目标页面读取到的结果始终是字符串。重复 Key 会按原始顺序保留,适合一个参数名对应多个筛选值。

  • 发送端界面:逐行填写 Key / Value;Presentation Page、File / URL、Website 支持。
  • 发送端脚本:hqVisuDesigner.openPage(pageCode, { frameTarget, parameters });parameters 必须是数组,不能写成普通对象。
  • 读取第一个同名值:GetPageParameter("PLC", "")。
  • 读取全部同名值:GetPageParameterValues("Area")。
  • 按原始顺序读取全部参数:GetPageParameters()。
  • 同样可使用 hqVisuDesigner.getPageParameter / getPageParameterValues / getPageParameters。
// 源页面:同包跳转并传参
hqVisuDesigner.openPage("device_details", {
  frameTarget: "frame",
  parameters: [
    { key: "PLC", value: "PLC_LINE01" },
    { key: "Device", value: "PUMP_01" },
    { key: "Area", value: "AREA01" },
    { key: "Area", value: "AREA02" }
  ]
});

// 目标页面 Page Script
var plc = GetPageParameter("PLC", "");
var device = GetPageParameter("Device", "");
var areas = GetPageParameterValues("Area");

需要点击后换页或打开内容的场景都适合使用它:

  • 在总览页放“水泵详情”按钮,使用 Presentation Page 直接选择本 PPT 中的 Pump 页面。
  • 从一号线画面跳到二号线画面包,使用 System Screen 并填写对方的 Menu / Screen Code。
  • 打开帮助、工单或报表系统,使用 Website 并选择 New tab 保留当前画面。
  • 打开同包的静态帮助页或一个明确文件,使用 File / URL。
  • 需要按状态计算目标时,使用 Script Action 编写跳转逻辑。

先按用户看到的五种模式排错,不要要求维护人员直接编辑底层 LinkType。Presentation Page 只选当前 PPT 页面;跨画面包或宿主菜单使用 System Screen,不要用 ../../other-screen/index.html 之类相对路径冒充跨包导航;外部站点优先用 Website;File / URL 适合文件、相对页面或兼容旧链接。旧 andon-page 会按兼容规则读成 File / URL + Fullscreen,新配置不再单独显示 Andon 模式。