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

使用target="_blank"属性时p:linkButton无法在新标签页打开

PrimeFaces p:linkButton target="_blank" 无法打开新标签页的解决办法
  • 替换为原生链接+PrimeFaces按钮样式
    部分PrimeFaces版本的p:linkButton对target="_blank"的支持存在问题,改用原生<h:outputLink>并套用PrimeFaces按钮样式,既能保持视觉一致性,又能让target属性正常生效:

    <h:outputLink value="http://myLink/" target="_blank" styleClass="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only">
        <span class="ui-button-text">跳转链接</span>
    </h:outputLink>
    
  • 手动通过点击事件强制打开新标签
    若坚持使用p:linkButton,可以通过onclick事件手动触发新标签页打开,同时阻止组件默认跳转逻辑:

    <p:linkButton href="http://myLink/" onclick="window.open(this.href, '_blank'); return false;"/>
    
  • 升级PrimeFaces版本
    旧版本(如5.x及更早)的p:linkButton存在target属性兼容bug,升级到10+的稳定版本通常能直接解决该问题,升级前需做好项目兼容性测试。

  • 校验href属性的合法性
    确保href的值是完整的绝对URL(包含http/https前缀),相对路径需匹配项目上下文路径配置,非法URL可能被浏览器拦截,导致新标签无法打开。

内容的提问来源于stack exchange,提问作者Braulio A. Sássi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:24:26