呃...我现在做的系统前台页面是jsp,由几个frameset组成,有top middle footer,middle由left 和 right组成。
问题出在right这边。点击进入某个页面,无论返回键是用history.back() 或者 history.go(-1),返回的都不一定是上一个页面,可能是上上个,或者是上上上个,不一定...
郁闷...
求助啊...

解决方案 »

  1.   

    不同的浏览器有不同的效果。
    如果你是在iframe里面操作,chrome和safari返回的不是iframe里面之前的页面,而是外层的后退页面。
    而IE和firefox都可以在iframe里面返回之前的页面。
    看你的需求是怎样,如果只是特定的一个页面返回。建议将之前的url先存下来,返回的时候再location.href = '.....'。
    我之前也遇到这种情况,chrome和safari下返回的不是我想要的结果。最终我是这样处理的,可能还有其他好的方法。再等等高手吧。
      

  2.   


    window.parent.history.go(-1)
      

  3.   

    每一个frame都有自己的window对象,需要确定使用哪个window对象
      

  4.   

    汗,今天才看到。
    这个系统只能用IE登录的,我测试使用IE9和IE9的兼容模式,确保IE没问题,其他浏览器暂不用考虑。
    现在问题是,history.go(-1),history.back()结果都是一样的,但搞笑的是,有的页面,可以返回正确的前一页面,有的返回的则是上上个页面,就如同没有被保存到浏览器缓存中一样。
    我想应该是因为response.setHeader("Cache-Control", "Public");      
    response.setHeader("Pragma", "no-cache");      
    response.setDateHeader("Expires", 0);这个,但是很多页面也写了这个,但是点返回是正常啊,我真囧啊...
    实在不行就只好跟2楼老兄那样啦,页面好多...
    要是专门为返回写个过滤器,会不会太sb...
      

  5.   


    汗,需要的内容都是在right这个frame中显示,当然返回的也是这个frame里的上一页面。
      

  6.   

    是不是有的页面跳转的时候没保存缓存
    就像html的window.href="1.html"与window.replace("1.html")
    前者可以用history而后者不行
      

  7.   


    这个... 页面缓存什么的不是浏览器自动就保存了,除非设置过header么?
    我的IE9和兼容模式下,以及chrome的IE6插件都不能行啊,但是同事的IE7就没有这个问题...汗啊...难道是浏览器兼容性?
    我简直弱爆了...