Java 从弹出窗口调用操作

Java 从弹出窗口调用操作,java,javascript,jsf,Java,Javascript,Jsf,当我打开一个弹出窗口时,我将面对 <h:form> <h:commandButton value="Submit" action="#{bean.submit}"> <f:ajax render="popup" /> </h:commandButton> <h:panelGroup id="popup"> <ui:fragment rendered="#{not empty bean.url}">

当我打开一个弹出窗口时,我将面对

<h:form>
<h:commandButton value="Submit" action="#{bean.submit}">
    <f:ajax render="popup" />
</h:commandButton>

<h:panelGroup id="popup">
    <ui:fragment rendered="#{not empty bean.url}">
        <script>window.open('#{bean.url}');</script>
    </ui:fragment>
</h:panelGroup>
</h:form>
我想在关闭此弹出窗口时调用操作

其次,我需要改变这个弹出窗口的宽度和高度

我想在关闭此弹出窗口时调用操作

给出一个关闭按钮,执行所需操作,并将用户重定向到一个页面,该页面将在javascript加载时关闭

其次,我需要改变这个弹出窗口的宽度和高度

可以在中指定高度和宽度

我想在关闭此弹出窗口时调用操作

只有当最终用户从弹出窗口中提交了一个。当最终用户按下X按钮或Ctrl+W或Alt+F4时,不能钩住bean操作。有window.onbeforeunload钩子,但这不允许您向服务器端可靠地发送HTTP请求,这是调用bean操作所必需的

其次,我需要改变这个弹出窗口的宽度和高度

您可以通过向提供额外的参数来实现这一点。另见:

我们使用onbeforeunload钩子在弹出窗口时从弹出窗口调用函数


我对java脚本不太了解。你看到给出的链接了吗?应该有东西阻止了它上面的代码没有打开IE7中的弹出窗口。我们能找到解决方法吗?然后你的IE7安装了弹出窗口阻止程序。禁用它,或使用HTML/JS/CSS div和覆盖方法,或使用第三方组件库,如PrimeFaces/RichFaces,它有用于此的组件。我已经在使用PrimeFaces..但我不知道如何正确地做到这一点..我的弹出窗口被禁用了阻止问题与您最初询问的问题不同。您显然发布了一个不同的问题,很好,请继续。
window.open('#{bean.url}', 'yourwindowname', 'width=600,height=480');
<script>
        window.onbeforeunload = function() { 
            document.forms["showpdf"].elements["hiddenBtn"].click();
            }
    </script>
    <h:body>
        <f:view>
            <h:form id="showpdf">
                <iframe src="#{docProd.url}" width="100%" height="100%">     </iframe>
                <div align="center"><p:commandButton id="hiddenBtn"
                    onclick="#{docProd.resetUrl}" style="display:none"   /></div>
            </h:form>
        </f:view>
    </h:body>
    </ui:composition>