后退按钮是history缓存的,不会刷新.

解决方案 »

  1.   

    如果这样
    <head>
    <script language="javascript">
    function func(){
    //判断是否是后退到该页面的   if(是后退)
    window.document.location.reload();
    }
    </script>
    </head>
    <body onload="func()">
    </body>
    页面就刷新个没完没了,我想加个判断,但不知道条件是什么
      

  2.   

    window.location.href =
    放在哪里呢?放在body的onload中不行的,会造成循环提交页面
      

  3.   

    呵呵,给你一点提示,不知道你能领会到我的意思没
    你当前页和你使用history.go(-1)返回的那一页,是属于子父页这是一种提示还有后退按钮用这个window.location.href = 改变下链接方法opener.location.reload(); 
    也可以window.opener.location.href   =   window.opener.location.href这样的返回发代码你自己看着用
      

  4.   

    谢谢各位热情帮助,但是我又失败了
    a.htm页面
    <html>
    <head>
    <title>
    </title>
    </head>
    <body >
    <br />
    <a href="b.htm">b.htm</a>
    <input type="text" name="text1"/>
    </body>
    </html>b.htm页面
    <html>
    <head>
    <title>
    </title>
    <script language="javascript" type="text/javascript">
    function goback(){
    //window.history.go(-1);//正常返回,a.htm不刷新//window.opener.location.reload();// 只有当该页面为新窗口时有效,即<a href="b.htm" target="_blank">b.htm</a>
    //window.opener.location.href   =   window.opener.location.href ;//同上//window.parent.location.reload();//框架页中有效//document.parentWindow.location.reload();//刷新的是自己window.location.href ="a.htm"//刷新了a.htm,但是是链接到a.htm
    }
    </script>
    </head>
    <body><br />
    <a href="javascript:goback();">go back</a>
    <br />
    <a href="a.htm">go back</a>
    </body>
    </html>
    上面即使能刷新,也是通过重新链接实现的我想实现点击浏览器上的后退按钮时刷新a.htm页面,无论a.htm是连接到sohu还是163又返回到a.htm,
    仅仅点了浏览器上的后退按钮返回到a.htm
    所以我想我的刷新操作只能在a.htm中完成
    <head>
    <script language="javascript">
    function func(){
    //我想在这里判断是否是从服务器传来的页面,如果不是,就执行
    //window.document.location.reload();
    }
    </script>
    </head>
    <body onload="func()">
    </body> 如果页面被保存为本地文件,然后在本地执行该页面,该页面还是要从服务器去取数据。不知道我有没有说清楚
      

  5.   

    只有一个办法了
    就是禁止缓存<% Response.Buffer = True Response.ExpiresAbsolute = Now() - 1 Response.Expires = 0 Response.CacheControl = "no-cache" %> 
    这种方法非常有效!它强制浏览器重新访问服务器下载页面,而不是从缓存读取页面。使用这种方法时,编程者的主要任务是创建一个会话级的变量,通过这个变量确定用户是否仍旧可以查看那个不适合通过后退按钮访问的页面。由于浏览器不再缓存这个页面,当用户点击后退按钮时浏览器将重新下载该页面,此时程序就可以检查那个会话变量,看看是否应该允许用户打开这个页面。
      

  6.   

    你也可以使用<html> <head> <meta http-equiv="Expires" CONTENT="0"> <meta http-equiv="Cache-Control" CONTENT="no-cache"> <meta http-equiv="Pragma" CONTENT="no-cache"> </head> 客户端的禁止缓存 
      

  7.   

    <A HREF="1.htm" onclick="javascript:location.replace(this.href);event.returnValue=false; ">aaaaa</A> 
    <script language="JavaScript"> <!-- javascript:window.history.forward(1); //--> </script> 这些都可以
    但是这些都有缺点
      

  8.   

    感谢chinmo,问题终于解决了。只是有一点迷惑的是
    使用这一段
    Response.Buffer = True
    Response.Expires = 0
    Response.CacheControl = "no-cache"
    是可行的,页面不会缓存。但是我直接使用生成的html代码段
    <meta http-equiv="Expires" CONTENT="0">  
    <meta http-equiv="Cache-Control" CONTENT="no-cache">  
    <meta http-equiv="Pragma" CONTENT="no-cache"> 
    时却不能禁止缓存,
    两种方式的HTML源码是完全一样的,真是奇怪
      

  9.   

    <%Response.Buffer = TrueResponse.ExpiresAbsolute = Now() - 1Response.Expires = 0Response.CacheControl = "no-cache"%> 
    虚心请教:上面这个到底怎么实现的呢?控制程序是什么样的?非常感谢!