Jsp 弹出小程序不会在调用的窗口中显示第二次单击

Jsp 弹出小程序不会在调用的窗口中显示第二次单击,jsp,applet,popup,onclick,Jsp,Applet,Popup,Onclick,我正在使用struts和我使用的一个小程序开发web,这个小程序在jsp中调用。当我第一次单击时,弹出窗口会完美显示,当我第二次单击调用小程序的按钮时,我的小程序窗口不会呈现,只显示背景。当我尝试F5时,它工作正常 这个问题只发生在firefox中。我如何解决这个问题 这是我的一个重点: onClick="javascript:showPopupAssinatura('<c:url value="/jsp/servidor/tabletAssinaturaManuscrita.jsp"/&

我正在使用struts和我使用的一个小程序开发web,这个小程序在jsp中调用。当我第一次单击时,弹出窗口会完美显示,当我第二次单击调用小程序的按钮时,我的小程序窗口不会呈现,只显示背景。当我尝试F5时,它工作正常

这个问题只发生在firefox中。我如何解决这个问题

这是我的一个重点:

onClick="javascript:showPopupAssinatura('<c:url value="/jsp/servidor/tabletAssinaturaManuscrita.jsp"/>', 'PopupAjuda', 633, 349, 'status=0,scrollbars=0, resizable=no');"
onClick=“javascript:showPopupAssinatura(“”,'PopupAjuda',633349,'status=0,scrollbars=0,resizeable=no')
下面是我的函数showPopupAssinatura:

function showPopupAssinatura(mypage,myname,w,h,features) {
if(screen.width){
     var winl = (screen.width-w)/2;
     var wint = (screen.height-h)/2;
     }else{winl = 0;wint =0;}
     if (winl < 0) winl = 0;
     if (wint < 0) wint = 0;
     var settings = 'height=' + h + ',';
     settings += 'width=' + w + ',';
     settings += 'top=' + wint + ',';
     settings += 'left=' + winl + ',';
     settings += features;
     var target = "mppesga" + myname;
     win = window.open(mypage,target,settings);

     if (win != null) {
        win.window.focus();
 }
}
函数showPopupAssinatura(mypage、myname、w、h、features){
if(屏幕宽度){
var winl=(screen.width-w)/2;
var wint=(屏幕高度-h)/2;
}else{winl=0;wint=0;}
如果(winl<0)winl=0;
如果(wint<0)wint=0;
变量设置='高度='+h+',';
设置+='宽度='+w+',';
设置+='top='+wint+',';
设置+='左='+winl+',';
设置+=功能;
var target=“mppesga”+myname;
win=窗口。打开(我的页面、目标、设置);
if(win!=null){
win.window.focus();
}
}

我使用javascript方法解决了这个问题:showModalDialog

function showPopupAssinatura(mypage,myname,w,h,features) {
if(screen.width){
     var winl = (screen.width-w)/2 - 66;
     var wint = (screen.height-h)/2 + 26;
     var navegador = navigator.appName.toLowerCase();

}else{winl = 0;wint =0;}

     if (winl < 0) winl = 0;
     if (wint < 0) wint = 0;

     var settings = 'height=' + h + ',';
     settings += 'width=' + w + ',';
     settings += 'top=' + wint + ',';
     settings += 'left=' + winl + ',';
     settings += features;
     var target = "mppesga" + myname;

     /** 

      * checking what browser is currently being used to make the action of  
      * visualize the popup. 
      */

     if(navegador.indexOf("netscape") != -1)
         win = window.showModalDialog(mypage,null,"dialogWidth:"+w+"; dialogHeight:"+(h+=6)+"; dialogTop:"+wint+"; dialogLeft:"+winl+"; resizable:no");
     else
         win = window.open(mypage,target,settings);

     if (win != null) {
        win.window.focus();
 }
}
函数showPopupAssinatura(mypage、myname、w、h、features){
if(屏幕宽度){
var winl=(屏幕宽度-w)/2-66;
变量wint=(屏幕高度-h)/2+26;
var navegador=navigator.appName.toLowerCase();
}else{winl=0;wint=0;}
如果(winl<0)winl=0;
如果(wint<0)wint=0;
变量设置='高度='+h+',';
设置+='宽度='+w+',';
设置+='top='+wint+',';
设置+='左='+winl+',';
设置+=功能;
var target=“mppesga”+myname;
/** 
*正在检查当前用于执行操作的浏览器
*可视化弹出窗口。
*/
如果(navegador.indexOf(“netscape”)!=-1)
win=window.showModalDialog(mypage,null,“dialogWidth:+w+”;dialogHeight:+(h++=6)+;“dialogTop:+wint+”;dialogLeft:+winl+”;可调整大小:否);
其他的
win=窗口。打开(我的页面、目标、设置);
if(win!=null){
win.window.focus();
}
}
这个解决方案只适用于firefox,因为在IE中,尺寸超出标准,所以,我为目前使用的浏览器设置了条件

我希望我可以帮助别人,如果同样的问题,如果这个代码。=]

我尝试使用win.focus()但它不起作用=/