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

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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值