热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> AJAX编程>>正文内容

javascript实现弹出窗口技术总结

发布时间:2008年12月02日点击数: 未知

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

}


本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作