日期:2014-05-16  浏览次数:20344 次

javascript的弹出窗口问题
1.无提示刷新网页
    大家有没有发现,有些网页,刷新的时候,会弹出一个提示窗口,点“确定”才会刷新。
而有的页面不会提示,不弹出提示窗口,直接就刷新了.
    如果页面没有form,
       则不会弹出提示窗口
    如果页面有form表单,
      a)<form  method="post" ...> 
           会弹出提示窗口
      b)<form  method="get" ...>  
           不会弹出   


2  javascript刷新页面的方法
     
   window.location.reload();
  
   使用window.open()弹出的弹出窗口,刷新父窗口
      window.opener.location.reload()
   使用window.showDialog弹出的模式窗口
      window.dialogArguments.location.reload();


  
3.javascript弹出窗口代码
   下面给两个弹出屏幕居中窗口的例子
   window.open()方式
       function ShowDialog(url) {
           var iWidth=300; //窗口宽度
           var iHeight=200;//窗口高度
           var iTop=(window.screen.height-iHeight)/2;
           var iLeft=(window.screen.width-iWidth)/2;
           window.open(url,"Detail","Scrollbars=no,Toolbar=no,Location=no,Direction=no,Resizeable=no,
     Width="+iWidth+" ,Height="+iHeight+",top="+iTop+",left="+iLeft);
          }
   
   window.showModalDialog方式
     function ShowDialog(url) {
           var iWidth=300; //窗口宽度
           var iHeight=200;//窗口高度
           var iTop=(window.screen.height-iHeight)/2;
           var iLeft=(window.screen.width-iWidth)/2;
           window.showModalDialog(url,window,"dialogHeight: "+iHeight+"px; dialogWidth: "+iWidth+"px;
     dialogTop: "+iTop+"; dialogLeft: "+iLeft+"; resizable: no; status: no;scroll:no");
         }

     注意这里的第二个参数,window


4.模式窗口数据不刷新(缓存)问题

在jsp页面加入如下语句 

<%
      response.setHeader("Pragma","No-Cache");
      response.setHeader("Cache-Control","No-Cache");
      response.setDateHeader("Expires", 0);
%>

5,模式窗口中,链接弹出新窗口问题

在</head>和<body>间加入<base target="_self">

6.无提示关闭页面的方法
function CloseWin(){
    var ua = navigator.userAgent; var ie = navigator.appName=="Microsoft Internet Explorer"?true:false;
    if(ie){
var IEversion = parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE "))));
    if( IEversion< 5.5){
    var str = ;
    document.body.insertAdjacentHTML("beforeEnd", str);
     document.all.noTipClose.Click();
   } else {
      window.opener =null; window.close();
   }
  }else{
  window.close()
  }
}