我正在从 X.jsp 打开一个弹出窗口,该弹出窗口由 Y.jsp 表示。第二个 jsp 有一个按钮。我想做的是点击此按钮后刷新父页面(启动弹出窗口的页面)。下面的“保存”按钮将调用支持 bean“copyScriptForVersion”中的方法,并且我在单击按钮时关闭弹出窗口。关闭弹出窗口后如何刷新父窗口?
<h:commandButton type="submit" value="Save" action="#{copyScriptForVersion.SaveAction}" onclick="window.close()"/>
我尝试像这样添加 window.opener.reload() onclick="window.close(); window.opener.reload();",但这不起作用。
我还尝试添加以下内容 body onUnLoad="window.opener.location.reload(1);">
但是,我收到“window.opener.location 为空或不是对象”错误。
最佳答案
首先,您应该将 window.close()
作为 onClick 处理程序中的最后一个操作执行。否则,它可能永远不会被执行。
其次,如果 reload() 不起作用,请尝试:
window.opener.location.href = window.opener.location.href; window.close();
请注意,如果父页面是由于发布表单而生成的,这可能会导致问题。
关于javascript - 关闭弹出窗口后刷新父窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4571860/