天天看点

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()

}

}

继续阅读