当 2 javascript 命令在 onclick 时导航到新选项卡挂起

Navigation to new tab hangs when 2 javascript commands in onclick

使用 PF 10、JSF 2.3

我尝试在用户单击“下载报告”时在新选项卡中打开 url

xhtml 页面:

<script type="text/javascript">
    //<![CDATA[
    function start() {
        PF('statusDialog').show();
    }

    function stop() {
        PF('statusDialog').hide();
    }
    //]]>
   </script>

<h:form>
    <p:menubar>
        <p:menuitem value="Home" action="#{umigonBean.logout}" icon="pi pi-home"/>
        <p:menuitem value="Download report" action="#{umigonBean.getReport}" onclick="PrimeFaces.monitorDownload(start);" icon="pi pi-arrow-down" oncomplete="PrimeFaces.monitorDownload(stop);"/>
    </p:menubar>
</h:form>

支持 bean(会话范围,如果重要的话):

    public void getReport(){
       // report being generated in the form of a Google Slide...
       // when it is generated, a redirect is made to the url of this Google Slide:

       FacesContext context = FacesContext.getCurrentInstance();
       context.getExternalContext().redirect("http://docs.google.com/etc");
    }

@BalusCfor a commandButton建议的解决方案是:

在我上面的代码中,这将是:

onclick="this.form.target='_blank';PrimeFaces.monitorDownload(start);"

然而,当我选择此选项时,不会调用该操作(“等待”window 出现并永远保留)。

这可以通过发布的答案的第 3 点解决 here:

public void submit() { 
     // ...
     PrimeFaces.current().executeScript("window.open('myUrl');");
 }