本人正在该一个Bug,bug是这样的,登陆,输入账号密码,然后进入系统,然后在系统菜单下有一个top按钮,就是返回登陆,我的系统返回登陆然后再点浏览器回退按钮仍然可以进入到系统我就想把它的浏览记录清理掉不让它回退     您就给我说怎么有效的清理掉就OK。谢谢各位达人。像:<a   href="#"   onclick="javascript:window.location.replace('http://lucky.myrice.com')">打开没有“后退”功能的新页面!</a> if(history.length>0)   
  top.location.replace(top.location)    等,都试过了都不管用,一样可以回退。

解决方案 »

  1.   

    <a href="#" onclick="location.replace('http://www.baidu.com'); return false">;打开没有“后退”功能的新页面!</a>
      

  2.   

    <a href="#" onclick="location.replace('http://www.baidu.com'); return false">;打开没有“后退”功能的新页面!</a>
      

  3.   


      这个方法确实管用,但是,用了这个方法,又有另一个问题。我那个按钮时在frameset下显示的,点了那个按钮打开的那个新窗口也是在frameset下显示   那样还得改
     麻烦费点心,帮帮忙分都给你
      

  4.   

    没太明白你什么意思你是说在一个frame中点,在另外一个frame中打开吗?
    <frameset cols="50%,*">
    <frame src="a.html" />
    <frame name="b"/>
    </frameset>
    <a href="#" onclick="window.top.b.location.replace('http://www.baidu.com'); return false">;打开没有“后退”功能的新页面!</a>
      

  5.   

    你后退的到登陆画面是不是需要让他重新登陆呢?
    有两种方法,都在登陆页面处理:
    1.不显示浏览器后退按钮。
      在访问你的登陆页面时,如果登陆进去的话,直接将当前登录画面关闭,弹出一个新页面,并且将浏览器的字段的按钮影藏掉:
    function openWin(URL){  
        var x=this.screen.availHeight-58;
            var y=this.screen.availWidth-10;
            fullstyle="status=yes,toolbar=no,resizable=yes,location=no,top=0,left=0,width="+y+",height="+x+";";
        window.open(URL,"_blank",fullstyle);
    }
    function closeMySelf(){
      window.opener=null;
        window.open('','_self');
        window.close();
    }2.服务端做文章,每次进入到登陆页面的时候,首先去把容器的session中对应当前浏览器的sessionId的内容干掉。具体方法:
           request.getSession().setAttribute("SESSION", null);
      这种方式,就会在返回登陆页面后,在回退到刚才的页面,如果你做了session失效检查的话应该就可以了
    上述两种方法,第二种比较可靠,第一种如果想使用的话,还要注意,后退按钮除了在工具栏的 还有右键和快捷键需要一一禁止的:
    具体的plz google
     
      

  6.   


         我的意思是,本来我的那个top按钮时在frameset下显示的,把top按钮做成超链接,点了之后,那个登陆页面也在frameset下显示我不想让它在frameset下显示。   谢谢。
      

  7.   


    <a href="#" onclick="window.top.location.replace('http://www.baidu.com'); return false">;打开没有“后退”功能的新页面!</a>这样就可以
      

  8.   

    难道不能直接在点“重新登陆”的时候取得cookie的值,remove掉用户信息么?
      

  9.   


      您看,您没明白我的意思,我再给你细说一遍:    首先是登陆,输入账户密码,进入到了一个菜单页面,这个菜单页面分为两部分(是用frameset做的),头部是一张图片(为了美化),而身体部分就是我说的top按钮了,如果按照您说的方法做的话,点击top按钮,跳到登陆页面,是在frameset这个页面的身体里显示的,头部的图片也在这样做肯定不行吧?  不知道您明白了么?  谢谢您能回答。
      

  10.   


      怎么弄?  我估计也是可以回退的,我的项目是在 苹果机上的IE5.2下的bug
      

  11.   

    大哥你的问题到底是什么啊?
    1。你登陆后,页面跳转到业务页面;
    2。点击按钮到重新登陆页面;
    3。这个时候,点击浏览器的后退又回到了第一步中的业务页面;是这么个流程吧?
    你是不想给用户使用“后退”按钮呢?还是不想后退回业务页面后,还能继续用刚才登陆的账号呢?
    两者分别是客户端与服务端设置的,二者不同诶。  
    我看你试验的什么replace全是用的客户端的操作嘛我问你个问题 如果我一上来不登陆,直接敲你的业务页面的url 会怎么样?
      

  12.   


    <a href="#" onclick="window.top.location.replace('http://www.baidu.com'); return false">;打开没有“后退”功能的新页面!</a>
    我明白你的意思,这样可以的。
      

  13.   

    那就应该在服务端做文章为什么要搞客户端呢?直接把session干掉就是了。详细的我在之前就介绍过了诶
      

  14.   


        具体的流程是什么?  我在登陆的action里干掉,可是一样啊。
      

  15.   

    怎么一样了呢?  登陆页面初始化的时候,你将session Remove掉,如果用户不登陆直接返回刚才的页面,你在filter里面检查session是否存在或者失效,如果是的话直接服务端跳转至登陆页面
      

  16.   

    我这边可以,我上传了个例子,你看一下
    http://download.csdn.net/source/2291635