【发布时间】:2021-10-24 20:08:16
【问题描述】:
我有一个像这样的h:link 元素
<h:link outcome="/overview.xhtml?source=menu"
title="Overview">
<div>...</div>
</h:link>
我想根据 JavaScript 中的 MobileMatcher 将布尔变量 phone 添加到 URI 地址。
换句话说,我想这样设置结果:
<h:link outcome="getOverviewURI()"
title="Overview">
<div>...</div>
</h:link>
getOverviewURI() 是返回字符串 URI 的函数:
function getOverviewURI() {
let URI = '/overview.xhtml?phone=';
URI += MobileMatcher.isMobile() ? "true" : "false";
return URI;
}
但是h:link 需要一个实际的字符串并忽略 JavaScript 函数调用。我尝试在函数调用结束时使用分号,这使链接显示一个无法解析地址的警告。我还尝试在那里使用纯 JS 和 "javascript:getOverviewURI()",它应该与 <a href="..."> 标签一起使用,我还尝试直接更改 DOM 元素的属性,但它嵌套很深,我似乎无法重写它。
【问题讨论】: