1. 怎么处理iframe缓存的问题
JSP中,添加缓存的控制语句
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", -10);
2. vue3使用 keep-alive对iframe进行缓存
使用keep-alive缓存不了iframe界面原因
【1】原理:Vue 的缓存机制并不是直接存储 DOM 结构,而是将 DOM 节点抽象成了一个个 VNode节点。因此,Vue 的 keep-alive 缓存也是基于 VNode节点 而不是直接存储 DOM 节点。在需要渲染的时候从Vnode渲染到真实DOM上。
【2】参数:Keep-alive 组件提供了 include 和 exclude 两个属性,允许组件有条件的进行缓存。
include: 字符串或正则表达式。只有匹配的组件会被缓存。
exclude: 字符串或正则表达式。任何匹配的组件都不会被缓存。
【3】Keep-alive 组件提供了两个生命钩子函数,分别是 activated 和 deactivated 。
activated :当页面存在缓存的时候执行该函数。
deactivated :在页面结束时触发该方法,可清除掉滚动方法等缓存。
iframe页里的内容并不属于节点的信息,所以使用keep-alive依然会重新渲染iframe内的内容。而且iframe每一次渲染就相当于打开一个新的网页窗口,即使把节点保存下来,在渲染时iframe页还是刷新的。
不使用 keep-alive ,因为vnode原理不适用。直接把打开过得iframe中的dom保存下来。通过v-show显示隐藏
iframeComponentsArray这个数组是打开过的iframe页面数组
3. iframe子页面访问过后相应js 缓存在浏览器,怎么不缓存
这两天遇到一个很奇怪的问题,一个页面嵌套了一个iframe页面,当这个页面提交后再次跳转到本页面时,原本iframe内的页面应该刷新数据的,结果在ie下面却没刷新(FF下没问题),必须手动F5或者新开一个浏览器标签页浏览才能刷新,否则在本页面的浏览器上按回车是没用的,查阅了很多资料,最后终于发现是iframe缓存机制在搞鬼,用以下方法即可解决:
<script type="text/JavaScript">
var randomnumber=Math.floor(Math.random()*100000)
document.write('
<iframe src="http://www.freedonation.com/hunger/hunger_thankyou.php3?randomnumber='+randomnumber+'" name="aframe" width="100%" height="400"></iframe>')
</script>
通过请求多加一个值为随机数的参数,这样浏览器认为每次请求的页面都是新的而保证了iframe页面每次都是重新加载的。
顶
0
踩
0
4. iframe只在本地显示,上传到服务器就不显示了
赶脚应该是你IFRAME嵌入的地址或者文件路径有问题,请检查下你嵌入的是否使用了绝对地址?绝对地址是否可以帮正能被访问等等,如果对你有帮助,请采纳,谢谢
5. 清理iframe 缓存
A页面如下:
<body>
<iframe src="b.html" name="b" style="border:#3161C6 solid 2;">
</iframe>
<iframe src="main.html" name="main" style="border:#3161C6 solid 2;">
</iframe>
</body>
B页面如下:
<body>
<a href="http://www..com" target="main">网络</a>
<a href="http://www.qq.com" target="main">QQ</a>
</body>
</html>
可以更新啊