【发布时间】:2014-01-08 14:16:55
【问题描述】:
在我的 ASP.NET MVC 项目中,我们引入了 Lucine Searching,(虽然在这种情况下这些细节不是必需的,只是提供一些背景知识,因为我相信我的问题与 IE 浏览器和缓存有关)。
在此页面中,用户可以根据关键字过滤搜索。并且用户可以单击以转到列出的项目并使用浏览器返回按钮或具有javascript代码onclick = "location.href = 'Javascript:history.go(-1);'"的手动HTML按钮返回到同一页面。
在 Chrome、Firefox 甚至 Internet Explorer 9 中,用户可以毫无问题地返回他离开的页面。我的意思是它保留用户输入的值。
但是,在 IE 10 和 IE 11 中,当用户单击过滤后的列表项时,它会进入页面,并且当用户第一次单击浏览器后退按钮或 HTML 后退按钮时,我会返回正确的过滤页面。但是,当用户再次单击任何项目并执行相同的过程时,我将无法取回过滤后的值。取而代之的是所有结果,即使是文本框也不会有用户输入的关键字。
总是假设后退按钮可以帮助人们返回相同的页面并说明他们离开的位置。我不知道为什么 IE 10 和 11 的行为不同。你们中的任何人都可以帮我弄清楚我在这里缺少什么。
【问题讨论】:
-
有趣的问题。出于好奇,我四处寻找,但没有找到太多。所以,我会坚持通过告诉我的用户不要使用 IE 来解决这个问题。 ;) 也就是说,也许这些会帮助你走得更远:webkit.org/blog/427/webkit-page-cache-i-the-basicsstackoverflow.com/questions/2063742/…
-
非常感谢赛斯分享相关资源。让我做一些 RnD。
-
不同的 SO 问题,但答案似乎适用于您的情况:stackoverflow.com/questions/18707547/…
-
待定,您在“前进”之前使用 AJAX DOM 操作返回的页面是什么?
-
亲爱的@DaveA 是的,它使用 Ajax 请求来过滤数据。
标签: javascript asp.net-mvc internet-explorer browser browser-cache