由于A界面的数据是通过ajax交互的,当你跳转到B界面,点击手机浏览器自带的后退回到A界面,由于缓存原因,读取到的数据不是最新的数据。
查了很多资料,看到网上的解决方法是清理缓存,然后页面重新向服务器发出请求。
下面整理一下,解决这个问题的方法。
方法1,HTML头部,禁止缓存:
<meta http-equiv="Expires" CONTENT="0"> <meta http-equiv="Cache-Control" CONTENT="no-cache"> <meta http-equiv="Pragma" CONTENT="no-cache">
注:(手机端)此方法行不通,因为有些浏览器会忽略这个头部,测试过,可能是我手机自带浏览器的原因。
方法2,适用于jsp
Response.Buffer = True Response.ExpiresAbsolute = Now() - 1 Response.Expires = 0 Response.CacheControl = "no-cache"
注:此方法本人没有试过,不知道可不可行
方法三,强行刷新界面
if(window.name != "bencalie"){ location.reload(); window.name = "bencalie"; }else{ window.name = ""; }
注:此方法可行,此代码写在js里。
感谢阅读本文,希望能帮助到大家,谢谢大家对本站的支持!
问题内容: 我在www.darknovagames.com上运行了基于浏览器的游戏。最近,我一直在努力使用CSS重新格式化该网站,试图让其所有页面都根据HTML标准进行验证。 我一直在想着要在页面左侧放置AJAX导航菜单的想法(而不是每次都将用户带到一个单独的页面,而是需要重新加载标题和导航栏,而这几乎是不会改变的),我知道如果这样做,我可能会破坏浏览器中的“前进/后退”按钮。我的问题是,我应该继
问题内容: 我正在通过XAMPP开发基于Wordpress源代码的网站。有时,我更改了CSS代码,脚本或其他内容,但我注意到我的浏览器需要花费一些时间来应用修改。这导致我使用多个浏览器刷新一个浏览器,如果不应用新样式,则尝试第二个浏览器,而且总是这样。 有什么办法可以避免这个问题?有时我在更改代码时没有注意到先前的修改。 问题答案: 一般解决方案按Ctrl+ F5(或Ctrl+ Shift+ R)
问题内容: 如何禁用浏览器的“后退”按钮(跨浏览器)? 问题答案: 这个问题是非常相似,这一个 … 您需要强制缓存过期才能正常工作。将以下代码放在页面代码后面。
我需要以某种方式检测用户是否按下了浏览器后退按钮,并使用jquery通过刷新(重新加载内容和CSS)重新加载页面。 如何通过jquery检测此类操作? 因为现在如果我在浏览器中使用后退按钮,一些元素不会被重新加载。但如果我在网站上使用链接,所有内容都会被刷新并正确显示。 重要! 有些人可能误解了我想要什么。我不想刷新当前页面。我想在按下后退按钮后刷新加载的页面。以下是我更详细的意思: 用户正在访问
问题内容: 我在aspx页面的c#中使用asp.net和c#,在此面板中有一个更新面板,我有一些指向其他站点的链接,这些链接在同一窗口中打开。在单击这些链接后,当我通过浏览器的后退按钮返回时,在更新面板上没有得到相同的结果… 问题答案: 我已经在以下文章中实现了相同的方法,如果您需要进一步的帮助,请Plz告诉我,我将提供代码 http://rchern.wordpress.com/2008/05/
问题内容: 您如何确定用户是否按下浏览器中的“后退”按钮? 您如何使用系统在单页Web应用程序内强制使用页内后退按钮? 到底为什么浏览器后退按钮不触发自己的事件!? 问题答案: (注意:根据Sharky的反馈,我提供了用于检测退格的代码) 因此,我经常在SO上看到这些问题,并且最近遇到了我自己控制后退按钮功能的问题。在为我的应用程序寻找最佳解决方案(带哈希导航的单页)几天后,我提出了一个简单的,跨