浏览器返回键,刷新历史页面,从而清空缓存
2013-11-11 10:49
806 查看
当浏览器通过“后退”按钮返回历史页面时,一般浏览器都会保留缓存,哪怕是设置了页面不保留,有时候也是没效果的,所有,想了一个办法,通过刷新页面,达到清空缓存的效果。
下面是主要代码:
通过这句获取当前页面的url:
如果是第一次访问: http://demo.com/test.html?id=1
这段是在url中查找是否存在“#”,如果没有,会进入异常块,为url加上“#1”,此时url变成了:http://demo.com/test.html?id=1#1
这句是将新的url替换到地址栏,浏览器不会去重新请求。
如此一来,当浏览器通过“后退”按钮,浏览历史页面时,此时的url是:http://demo.com/test.html?id=1#1,因为能检测到#1,所以用window.location = http://demo.com/test.html?id=1, 重新请求该页面。
下面是主要代码:
window.onload = function(){ var url = window.location.href; var ps = url.split("#"); try{ if(ps[1] != 1){ url += "#1"; }else{ window.location = ps[0]; } }catch(ex){ url += "#1"; } window.location.replace(url); };
var url = window.location.href;
通过这句获取当前页面的url:
如果是第一次访问: http://demo.com/test.html?id=1
var ps = url.split("#"); try{ if(ps[1] != 1){ url += "#1"; }else{ window.location = ps[0]; } }catch(ex){ url += "#1"; }
这段是在url中查找是否存在“#”,如果没有,会进入异常块,为url加上“#1”,此时url变成了:http://demo.com/test.html?id=1#1
window.location.replace(url);
这句是将新的url替换到地址栏,浏览器不会去重新请求。
如此一来,当浏览器通过“后退”按钮,浏览历史页面时,此时的url是:http://demo.com/test.html?id=1#1,因为能检测到#1,所以用window.location = http://demo.com/test.html?id=1, 重新请求该页面。
相关文章推荐
- js实现返回上一页后刷新历史页面
- jsp页面返回时刷新页面清除缓存
- 解决用户注销后点击浏览器返回刷新页面重复登录的问题
- 如何在点击浏览器前进、后退键时刷新页面而不读取缓存
- 从A页面跳转到B页面,从B页面按浏览器自带按钮返回到A页面并且刷新页面--手机操作浏览器自带返回并自带刷新
- 怎么在点击浏览器前进、后退键时刷新页面而不读取缓存
- \t\tjsp页面返回时刷新页面清除缓存
- 在Myeclipse中修改了HTML、CSS或JavaScript语句,但是浏览器刷新并清空缓存后依然不显示新内容
- 记录处理移动端浏览器点击返回页面不刷新
- Ajax请求如何实现页面无刷新前进后退,将ajax请求保存至浏览器历史记录
- 清空微信浏览器缓存debug页面清除法
- 浏览器返回按钮不会刷新页面解决方案
- js 屏蔽浏览器返回历史页面
- js返回历史上一页并刷新页面
- 微信返回上一页的按钮会强制性使用页面缓存,不刷新页面
- 页面返回历史上一页并且刷新
- 浏览器点击返回并刷新页面
- 点击浏览器的返回按钮或手机的返回按钮让页面刷新
- Liferay 登录页面在浏览器选择后退,由于缓存不刷新的解决方案
- google 浏览器修改js刷新页面缓存