Javascript IE8只会跳回上一页的顶部,而不是我之前所在的位置(但只有在打开JS的情况下)

Javascript IE8只会跳回上一页的顶部,而不是我之前所在的位置(但只有在打开JS的情况下),javascript,internet-explorer,internet-explorer-8,cross-browser,Javascript,Internet Explorer,Internet Explorer 8,Cross Browser,我有一个可怕的、散乱的页面,上面有很多JavaScript: 它有一个列表视图,如果您愿意,可以详细查看列表中的一个项目 现在的问题是,如果我想使用browser back按钮从details视图返回到list视图,我会得到不同的结果 在Chrome和Firefox中,即使在IE7中,我也会在我点击的地方结束,但在IE8中并非如此 更令人困惑的是,如果我关闭JavaScript,它也适用于IE8 问题是现在我不知道该去哪里搜索。是否有人知道这个问题,或者至少知道可能会影响这个问题的JavaScr

我有一个可怕的、散乱的页面,上面有很多JavaScript:

它有一个列表视图,如果您愿意,可以详细查看列表中的一个项目

现在的问题是,如果我想使用browser back按钮从details视图返回到list视图,我会得到不同的结果

在Chrome和Firefox中,即使在IE7中,我也会在我点击的地方结束,但在IE8中并非如此

更令人困惑的是,如果我关闭JavaScript,它也适用于IE8


问题是现在我不知道该去哪里搜索。是否有人知道这个问题,或者至少知道可能会影响这个问题的JavaScript方法或函数?

如果没有代码,很难给出明确的答案。基于以往IE经验的初步答案:

IEs有不同的行为,尤其是IE8,它处于旧版本和标准版本[IE6-,IE7]的交叉点,而新版本的IE9更能坚持标准。特别是在Javascript中,IE浏览器可能比非IE浏览器更挑剔

如果在您离开页面(由于点击链接)或返回页面(更容易发现)时触发JS错误,则可能会发生这种返回行为

  • 检查离开(或返回)页面底部时是否发生错误
  • 由于
    setTimeout
    该函数将设置
    window.location.href
    ,使您有足够的时间在离开页面之前发现错误,因此单击操作可能会延迟
  • 如果重定向为“手动”(如
    window.location.href=
    ,而不是简单的

是否可以在列表中添加排序?它是从数据库调用的吗?可能的原因:客户端是否通过window.location=“herpderp”而不是window.location.replace()重定向页面;页面使用iFrame,当我们谈论历史遍历时,这一点并不明显,尤其是在IE中。列表视图是您正在使用的第三方JS库还是您自己编写的?如果是第三方库,请告诉我们是哪一个。@MattCain-您的问题只是“真正的”IE8吗?我没有这样一个旧的版本,而且它在IE8模式下的IE10上运行良好,JavaScript处于打开状态。