所属产品: Mingcedar Studio DESIGNER
Open Link 打开链接跳页 | Mingcedar Studio
为组件配置点击后的页面、网址、系统菜单或脚本目标。先选择 Destination,再填写该类型对应的字段。
<div class="manual-doc-article manual-doc-article-section"><h2 id="interaction-open-link">交互: Open Link 打开链接跳页</h2>
为组件配置点击后的页面、网址、系统菜单或脚本目标。先选择 Destination,再填写该类型对应的字段。
<div class="doc-card-list">
<article class="doc-card">
<h3 id="interaction-open-link-item-1">功能说明</h3>
<p>Open Link 是点击交互行为。在 Destination 中选择 Internal page、External URL、System menu 或 Run script;运行时点击组件后,按所选目标执行。</p>
</article>
<article class="doc-card">
<h3 id="interaction-open-link-item-2">字段配置</h3>
<p>绑定 Open Link,选择 Destination 并填写对应字段:</p>
<ul>
<li>Internal page:在 Page address 填导出页面文件名,例如 Main.html,或点击 Select PPT page... 选择当前演示文稿中的页面。相对地址从当前导出页解析,并须留在资源根目录内。</li>
<li>External URL:需要打开完整外部或内网网址时,切换到此选项,再按该模式的字段填写地址。</li>
<li>System menu:需要打开宿主机菜单时,切换到此选项,并核对宿主机中的菜单目标。</li>
<li>Run script:目标需要按运行状态计算,或点击后要执行组合动作时使用。</li>
<li>Open options:选择 HMI window 或 Page only,并按需要设置 Fullscreen、New tab。</li>
<li>Parameters (optional):需要向目标页传值时添加 Key / Value;不需要传值时可留空。</li>
</ul>
<div class="manual-code" data-code-language="text"><div class="manual-code-toolbar"><span>Text</span><span class="manual-code-tools"><small>Text</small><button type="button" data-copy-code data-copied="已复制" data-failed="请选中代码后复制" aria-label="复制代码: Text">复制代码</button><span class="manual-code-status" role="status"></span></span></div><pre tabindex="0" class="docs-code-block shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span>// Run script:按状态决定目标</span></span>
<span class="line"><span>if (ReadTagBoolean("PLC_LINE01.PUMP01.FAULT", false)) {</span></span>
<span class="line"><span> hqVisuDesigner.openPage("alarm_overview");</span></span>
<span class="line"><span>} else {</span></span>
<span class="line"><span> hqVisuDesigner.openPage("production_overview");</span></span>
<span class="line"><span>}</span></span></code></pre></div>
</article>
<article class="doc-card">
<h3 id="interaction-open-link-item-3">Parameters:发送、类型和目标页读取</h3>
<p>Internal page 的 Parameters (optional) 提供 Key / Value 行,用于向目标页传值。脚本调用 openPage 时可传字符串、数字、布尔值或 null;目标页按字符串读取。重复 Key 会按原始顺序保留。</p>
<ul>
<li>发送端界面:选择 Internal page 后,逐行添加 Key / Value。</li>
<li>发送端脚本:hqVisuDesigner.openPage(pageCode, { frameTarget, parameters });parameters 必须是数组,不能写成普通对象。</li>
<li>读取第一个同名值:GetPageParameter("PLC", "")。</li>
<li>读取全部同名值:GetPageParameterValues("Area")。</li>
<li>按原始顺序读取全部参数:GetPageParameters()。</li>
<li>同样可使用 hqVisuDesigner.getPageParameter / getPageParameterValues / getPageParameters。</li>
</ul>
<div class="manual-code" data-code-language="javascript"><div class="manual-code-toolbar"><span>JavaScript</span><span class="manual-code-tools"><small>JavaScript</small><button type="button" data-copy-code data-copied="已复制" data-failed="请选中代码后复制" aria-label="复制代码: JavaScript">复制代码</button><span class="manual-code-status" role="status"></span></span></div><pre tabindex="0" class="docs-code-block shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#6A737D">// 源页面:同包跳转并传参</span></span>
<span class="line"><span style="color:#24292E">hqVisuDesigner.</span><span style="color:#6F42C1">openPage</span><span style="color:#24292E">(</span><span style="color:#032F62">"device_details"</span><span style="color:#24292E">, {</span></span>
<span class="line"><span style="color:#24292E"> frameTarget: </span><span style="color:#032F62">"frame"</span><span style="color:#24292E">,</span></span>
<span class="line"><span style="color:#24292E"> parameters: [</span></span>
<span class="line"><span style="color:#24292E"> { key: </span><span style="color:#032F62">"PLC"</span><span style="color:#24292E">, value: </span><span style="color:#032F62">"PLC_LINE01"</span><span style="color:#24292E"> },</span></span>
<span class="line"><span style="color:#24292E"> { key: </span><span style="color:#032F62">"Device"</span><span style="color:#24292E">, value: </span><span style="color:#032F62">"PUMP_01"</span><span style="color:#24292E"> },</span></span>
<span class="line"><span style="color:#24292E"> { key: </span><span style="color:#032F62">"Area"</span><span style="color:#24292E">, value: </span><span style="color:#032F62">"AREA01"</span><span style="color:#24292E"> },</span></span>
<span class="line"><span style="color:#24292E"> { key: </span><span style="color:#032F62">"Area"</span><span style="color:#24292E">, value: </span><span style="color:#032F62">"AREA02"</span><span style="color:#24292E"> }</span></span>
<span class="line"><span style="color:#24292E"> ]</span></span>
<span class="line"><span style="color:#24292E">});</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A737D">// 目标页面 Page Script</span></span>
<span class="line"><span style="color:#D73A49">var</span><span style="color:#24292E"> plc </span><span style="color:#D73A49">=</span><span style="color:#6F42C1"> GetPageParameter</span><span style="color:#24292E">(</span><span style="color:#032F62">"PLC"</span><span style="color:#24292E">, </span><span style="color:#032F62">""</span><span style="color:#24292E">);</span></span>
<span class="line"><span style="color:#D73A49">var</span><span style="color:#24292E"> device </span><span style="color:#D73A49">=</span><span style="color:#6F42C1"> GetPageParameter</span><span style="color:#24292E">(</span><span style="color:#032F62">"Device"</span><span style="color:#24292E">, </span><span style="color:#032F62">""</span><span style="color:#24292E">);</span></span>
<span class="line"><span style="color:#D73A49">var</span><span style="color:#24292E"> areas </span><span style="color:#D73A49">=</span><span style="color:#6F42C1"> GetPageParameterValues</span><span style="color:#24292E">(</span><span style="color:#032F62">"Area"</span><span style="color:#24292E">);</span></span></code></pre></div>
</article>
<article class="doc-card">
<h3 id="interaction-open-link-item-4">适用场景</h3>
<p>用于点击后切页或打开内容,例如:</p>
<ul>
<li>在总览页放“水泵详情”按钮,使用 Internal page 选择本 PPT 导出的 Pump 页面。</li>
<li>需要打开宿主机菜单时,选择 System menu 并核对目标菜单。</li>
<li>打开帮助、工单或报表系统时,选择 External URL 并填写可访问的地址。</li>
<li>打开同包的静态帮助页时,在 Internal page 填对应的导出页地址。</li>
<li>需要按状态计算目标时,使用 Run script 编写跳转逻辑。</li>
</ul>
</article>
<article class="doc-card">
<h3 id="interaction-open-link-item-5">限制与常见问题</h3>
<p>Internal page 的相对地址必须位于当前画面包的资源目录内。打开其他画面包时使用画面编码,打开系统菜单时选择 System menu;请勿用 <code>../../other-screen/index.html</code> 这类相对路径跨包跳转。</p>
</article>
</div>
<div class="docs-note-grid manual-doc-image-grid">
<figure class="docs-note-card manual-doc-image-card" id="interaction-open-link-image-1">
<img src="/WEB_img/HQPPT/current-20261021/open-link-internal-page.png" alt="Open Link 编辑器的 Internal page 目标、打开选项与可选参数" loading="lazy" decoding="async" />
<figcaption>
<strong>图示 1: Open Link:Internal page</strong>
<p>选择 Internal page 后,可填写 Page address、选择演示文稿中的页面,并配置 Open options 与 Parameters。</p>
</figcaption>
</figure>
</div>
</div>