赞
踩
页面中嵌入iframe出现了缓存,带来的页面刷新问题
工作中碰到的问题
包含iframe的页面,iframe中存在登陆验证的问题。当通过iframe已经完成了登陆,此时iframe对应的服务异常上下电又恢复了服务时,这时再刷新整个页面,即使用新的登陆验证信息依然无法验证通过。
通过对iframe里请求的分析发现,刷新后请求头依然使用的是之前的验证信息(token和session)。
一般的做法
1, 前端:在iframe指向的页面地址后缀添加一个时间戳。确保每次加载时,让浏览器知道它是最新的页面,避免缓存。
var ts = new Date().getTime()
<iframe src=“http://xxx/xxx/xxx.html?_” + ts>
2, 服务端:修改Response的头信息
Header:
“Cache-Control”: “no-cache”
分析根源
1, 卸载页面前,观察iframe指向页面中的session和cookie残留情况
window.location.href = “about:blank”
查看浏览器本地的cookie和session情况
2, 在卸载页面前,调用相应的方法清除页面卸载后残留的cookie和session
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。