Open Link 打开链接跳页

Open Link 是 Interactions(交互)类行为。绑定到组件后,运行端用户点击该组件即可触发跳转。它支持四类目标:同一画面包内的另一页、另一个画面包、外部网址,或一段 JavaScript 脚本。与颜色、闪烁等持续求值的视觉行为不同,Open Link 只在用户点击导出页面时运行,适用于主页按钮、返回按钮、菜单跳转、详情入口和外部系统入口等点击导航场景。

交互
给组件添加“点击跳转”行为:点击后可跳到本包中的另一页、跳到另一个画面包、打开外部网址,或执行一段脚本。

Open Link 是 Interactions(交互)类行为。绑定到组件后,运行端用户点击该组件即可触发跳转。它支持四类目标:同一画面包内的另一页、另一个画面包、外部网址,或一段 JavaScript 脚本。与颜色、闪烁等持续求值的视觉行为不同,Open Link 只在用户点击导出页面时运行,适用于主页按钮、返回按钮、菜单跳转、详情入口和外部系统入口等点击导航场景。

在 Behavior Browser 里把 Open Link 拖到左侧目标组件上,打开它的编辑器,先选“链接类型”,再按所选类型填目标:

  • 链接类型(单选):ppt-page / html-page(同包内的另一页)、screen-code(另一个画面包)、external-url(外部网址)、javascript(直接执行脚本)
  • ppt-page / html-page:选包内的目标页(按页名/页标题定位),运行端走 gotoPage 跳本包页
  • screen-code:填目标画面包的画面编号(如 P1Y1C1),运行端走 gotoScreen 做跨包跳转
  • external-url:填完整网址,并可勾选“在新标签/新窗口打开”,不勾就在当前页打开,勾上就新开
  • javascript:填一段脚本,点击时直接执行(可调用 qtedit.openPage/openScreen/openWebsite)
  • Definition:可选的准备逻辑(读标签、定义变量、做判断),跳转动作本身按所选类型执行
  • Enabled:可选的启用开关,返回 false 时这次点击不跳转
// 链接类型 = screen-code
// 目标画面编号:
P1Y1C1

// 或链接类型 = javascript,按条件决定去哪一页
if (ReadTagBoolean("PLC1.PUMP.FAULT", false)) {
  qtedit.openPage("Alarm");
} else {
  qtedit.openPage("Overview");
}

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

  • 在总览页放主菜单按钮,点“水泵详情”跳到本包里的 Pump 页(ppt-page / html-page)
  • 做厂区级导航:从一号线画面包点按钮跳到二号线的另一个画面包(screen-code,填对方画面编号)
  • 点“帮助/工单系统”按钮,在新标签里打开一个外部网址(external-url,勾选新窗口打开)
  • 需要按状态决定跳转目标时(如有报警跳报警页、否则跳总览),使用 javascript 编写跳转逻辑

关键是选对目标类型:同一个画面包内跳页使用 ppt-page / html-page(gotoPage);跳到另一个画面包必须使用 screen-code(gotoScreen),不要用包内页名跳转到其它画面包。跨包跳转不要写成相对磁盘路径(如 ../../other-screen/index.html、../../line-b/pump-01.html),否则开发机可访问但上线换包后会失效。如果跳转后无法打开,应先确认目标是同包页、另一个画面包还是外部网址,再选择对应类型。