您的位置:首页 > 其它

window.showModalDialog方式/模式窗口数据不刷新(缓存)问题

2011-10-28 09:25 423 查看
window.showModalDialog方式/模式窗口数据不刷新(缓存)问题[转]

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可以解决这个问题

来自: http://hi.baidu.com/9prior/blog/item/8162f423725ce85f9922ede4.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: