在ASP.NET 3.5网站中,我们注意到后退按钮无法正常工作。如果用户进行了多次回发(比如10次),并且开始按下后退按钮 - 后退按钮在用户通过所有页面之前被禁用。该网站不使用AJAX.net。
我几乎总能在IE 7和8上重现这个问题。问题似乎是IE在给定标签/实例的历史记录缓存中有某种限制。在测试中我做了对服务器的post请求很大 - 大约83k,响应是圆的300k。看来,对于这些请求大小,历史记录不会超过4个项目。当我到达5个帖子时,我选择的第一个项目被删除了。
答案 0 :(得分:3)
我们遇到了同样的问题。我们将加载一个特定的页面,大约5秒后,IE8浏览器的历史将被吹走。因此,history.back()将无法工作,IE8后退按钮将无法正常工作。最终,我们将其缩小到大的“viewstate”(在我们的例子中,由于“Repeater”控件启用了“viewstate”,因此“viewstate”的大小就像600KB。当我们在“Repeater”控件上禁用“viewstate”时,大小降低到大约11KB。现在,IE8后退按钮和history.back()都运行良好。
答案 1 :(得分:0)
用户必须回到第一页;这是我知道在IE(或任何其他浏览器)中禁用后退按钮的唯一方法。应用程序是否打开另一个选项卡这可能会导致后退按钮走多远的混乱。
此外,用户是否会在按下后退按钮时通过IE提示重新应用更改?我知道这通常是ASP.NET站点的一个问题,使用后退按钮可能会导致浏览器出现问题。
答案 2 :(得分:0)
window.location.replace 或
history.forward();在脑袋里
答案 3 :(得分:0)
这是IE中的一个错误,自(至少)IE6以来,已经以某种方式表现出来。该错误在TravelLog代码中。它有时会感到困惑。