我遇到了一个非常恼人的问题,我无法解决问题。问题是,由于未知原因,Chrome没有在其历史记录中注册页面,因此当用户单击后退按钮时,它会返回2页而不是1页。
页面进展如下:
Search-form.aspx - > searching.aspx - > search-results.aspx - > result.aspx
更具体地说,当我到达chrome中的result.aspx页面并回击时,它会跳过search-results.aspx并一直跳回到searching.aspx。
思想?
答案 0 :(得分:0)
您在search.aspx上的page_load正在立即将浏览器发送到另一个页面。它向用户呈现的唯一东西是加载图形。没有点击链接进入下一页,Chrome正在考虑将search.aspx作为最后一个最相关的步骤。
考虑使用javascript(我更喜欢jQuery)来呈现加载信息并完全删除search.aspx。在search-results.aspx上使用javascript对服务器进行异步(AJAX)调用以获得结果。在返回结果的同时,您可以显示一个漂亮的小图形,告诉他们在结果加载时保持耐心。
如果javascript不是一个选项,那么考虑让浏览器的加载功能足够。我曾尝试过使用中间页面来处理类似的事情,这只是一团糟。不要纠缠在那个网络上。要么做一些异步加载,要么让浏览器处理告诉他们他们的页面正在加载。单击搜索按钮后,大多数人都会习惯等待页面加载时间稍长。
编辑如果您想要快速简单的解决方案,请在search.aspx上添加一个按钮。使按钮执行页面重定向。这样就会发生实际的表单提交,并且chrome应该在其历史记录中注册下一页。您可以使用OK按钮将search.aspx设为快速消息。他们点击OK然后离开。