弹出窗口问题总结

1、使用window.open()弹出的窗口会被ie浏览器阻止。为防止阻止,可将该方法添加到<a>标签中。例如:
<a href='javascript:void window.open("x.html","x","resizable,width=600,height=450")'>不会被阻止</a>
或者<a href="../doSubmit.jsp" target="_blank">不会被阻止</a>

2、使用window.location.href可以直接打开一个新页面,不会被ie拦截。

3、使用按钮触发form提交可以打开一个新页面,不会被ie拦截。

4、使用window.showModelDialog弹出一个模态窗口

5、使用window.showModelessDialog弹出一个非模态窗口

6、最后解决方案如下:
   在confirm页面使用a标签,打开一个空白页面。
   <a href="../doSubmit.jsp" target="_blank">网上购买</a>
   doSubmit.jsp页面代码如下:
   <script>
    window.name="main";
    var flag = "<%=flag%>";
    if(flag!="false"){
        window.parent.opener.donext();
    }else{
        window.close();
    }
   </script>
   掉用父窗口页面的donext()方法,提交到pay.jsp页面
   function donext(){
      var url = "../pay.jsp"+para1;
dialog1("","url:post?"+url,"400px","auto","pay");  //打开一个div层
   }
   在pay.jsp页面使用form提交
   <form id="frmInputPay" name="frmInputPay" action="http://222.com" target="main" method="post">
      <input type="hidden" name="" id="" value=""/>
   </form>
   <script>
function do_Submit(){
if(<%=boo%>){
document.getElementById("frmInputPay").submit();
}else{
document.getElementById("frmInputPay").action="../doSubmit.jsp?flag=false";
document.getElementById("frmInputPay").submit();
}
}
   </script>

你可能感兴趣的:(jsp,浏览器,IE)