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页面加入如下语句
window.showModalDialog是比window.open快一点,而且好看一点,可是,不足之处就是不能及时刷新,老是取的是缓冲的数据,需要我们刷新一下,这里可以设置一下不保存缓冲就可以了,window.open也是可以的。
在jsp页面加入如下代码:
<%
response.setHeader("Pragma","No-Cache");
response.setHeader("Cache-Control","No-Cache");
response.setDateHeader("Expires", 0);
%>
或者是这样设置
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
这样是一样的效果的。
还有需要的是,如果是window.showModalDialog方式
window.showModalDialog("<%=webapp%>/view/xtsz/yggl/index.jsp?xianshi=show",window,"dialogHeight=400px;dialogWidth=950px;center=yes;help:no;status=no;");
注意的是,第二个参数是window,但是使用open的时候就不用这样了。
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()
}
}
你的modalDialog是不是只用了一个页面组成的?应该用一个框架构成
以前我也碰到过类似的问题,用这种方法应该可以解决
to wuzhu888(繁华的夜景)
我的showModalDialog里面有form。
to test_1982(Learner)
我试试看
在页面前面加上
<%
response.addHeader("Pragma", "no-cache");
response.addHeader("Cache-Control", "no-store");
%>
frameset才是容器,frame包含在里面,写反了。不好意思。
<%
response.addHeader("Pragma", "no-cache");
response.addHeader("Cache-Control", "no-store");
%>
或者给打开的url加个随机参数
var num=Math.random();
to operfume(橘子香水)
我加了
用frameset可以解决这个问题