Am在JSF中开发应用程序。我已经创建了在onclick
事件中调用JavaScript方法的t:commandlink
,我在相同的t:commandlink
中有一个操作。这将在onclick
事件完成后触发。在我使用IE浏览器之前,我使用window.openmodaldialog('sample.xhtml', '_blank');
以如下javascript打开弹出窗口,
<t:commandlink onclick="openPopup()" action="#{samplebean.savedata()}"></t:commandlink>
Javascript代码:
function openPopup(){
window.showmodaldialog('sample.xhtml', '_blank');
return true;
}
在上面的代码"openPopup"方法中,等待showmodaldialog关闭。现在正在将应用程序迁移到Chrome浏览器。因此,我使用了window.open
,因为window.showmodaldialog
在Chrome中已被弃用。这里面临的问题是openPopup
方法没有等到弹出窗口关闭。它正在执行,并且调用t:commandlink操作块。如何使openPopup
方法等待弹出窗口关闭。
尝试切换到oncomplete
,而不是onclick