keep-vue keep alive 解除为什么不能保存iframe的内容不刷新

在 SegmentFault,解决技术问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
一线的工程师、著名开源项目的作者们,都在这里:
获取验证码
已有账号?
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
如何实现在父页面按下F5后,只刷新iframe里面的页面,而不刷新外层页面,求解,自己知道监听F5事件,然后通过keycode判断,reload iframe里面的页面,但是实际效果确实整个页面都刷新,不知为何。求大神解答。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
重点是阻止默认的刷新,这样外部页面就不刷新了,然后指定刷新iframe,我下面给出了思路
document.onkeypress = function(e){
if(e.keyCode == 116){
e.preventDefault(); //组织默认刷新
var iframeSrc = iframe.
iframe.src = iframeS
iframe页面里再写如下:
var iframeSrc = parent.iframe.
document.onkeypress = function(e){
e.preventDefault();
parent.frame.src = iframeS
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:页面中存在iframe时刷新页面的问题
近期在开发中遇到一个很奇怪的问题:HTML页面中有个iframe,初始情况下是空的,当点击特定按钮后iframe会加载特定页面。
但很快就发现有点问题了:当iframe加载了特定页面后,此时只要按F5刷新页面,iframe仍然会显示刚刚加载过的页面,而不是初始化时的空页面。
但更奇怪的事是:同样的HTML代码,只要把文件名改为php(其他动态语言脚本没有试过)就不会出现上面的问题,
另外如果使得Ctrl+F5强制刷新,不管是html和php也都没有发生上面的问题。
示例代码:
&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&
&TITLE&&/TITLE&
&script type="text/javascript"&
var initFrame = function(){
test.location='';
var clearFrame = function(){
test.location='about:blank';
&pre& 说明:
刚开始iframe并没有内容,点击加载后才有内容
但此时刷新下页面,iframe内仍然会显示加载后的内容
而不是空内容,这时需要增加清除iframe内容的代码来解决此问题
但时在php程序中,此情况不会发生,刷新页面时iframe内容显示为空 &/pre&
&iframe name="test" src="" width=100% height="300px" border=0&&/iframe&
&a href="javascript:initFrame()"&加载iframe&/a&
&a href="javascript:location=location"&刷新页面&/a&
&a href="javascript:clearFrame()"&清空iframe&/a&
//clearFrame();
为此我做了多次试验,总结出结论如下:
文件类型\刷新方式
location=location
location.replace(location)
location.reload
history.go(0)
测试环境:Win7 64bit IE9/Firefox14
1、相同的代码,动态脚本和静态HTML执行结果还是有差异的
2、页面中嵌套iframe在进行页面可能会有”缓存“(不知道用这个词是否合适)
3、JS不同刷新页面的方式会有不同效果,类似location=location的方式类相当于强制刷新,iframe里的内容也会初始化;类似location.reload的方式并不会初始化iframe里的内容,iframe内会保持之前的状态。
要想让以上所有的方式都不会有iframe显示异常的情况也很好办,只要增加一段 js初始化iframe的代码就可以了
上面示例代码中
//clearFrame();
这一行前面的注释去掉即可。
另外,iframe也会有其他一些烦人的问题如:iframe内打开链接问题、跳转异常问题、JS问题等
所以很多时候iframe并不是一个好的方案,最后劝大家一句:iframe有风险,使用前请谨慎。
原创内容,转载请注明出处
Copyright (C) , All Rights Reserved.
版权所有 闽ICP备号
processed in 0.042 (s). 13 q(s)js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
投稿:jingxian
字体:[ ] 类型:转载 时间:
下面小编就为大家带来一篇js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
重点是阻止默认的刷新,这样外部页面就不刷新了,然后指定刷新iframe,我下面给出了思路
document.onkeypress = function(e){
if(e.keyCode == 116){
e.preventDefault(); //组织默认刷新
var iframeSrc = iframe.
iframe.src = iframeS
iframe页面里再写如下:
var iframeSrc = parent.iframe.
document.onkeypress = function(e){
e.preventDefault();
parent.frame.src = iframeS
以上这篇js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 http keep alive详解 的文章

 

随机推荐