iframe结构的网站按F5刷新子页面的实现方式

有的网站或者后台系统由于页面有公共的部分,比如菜单,会把公共的部分放在一个页面,这里称之为父页面,而把具体的内容放入一个iframe中,之后的请求改变iframe的内容。但是这样会有一个问题,因为浏览器的url是父页面的链接,当你按F5刷新的时候,并不是刷新iframe所对应的页面,而是刷新了父页面,使系统回到了最初的位置,这样对操作是很不爽的。

比如,页面的格式是这样的。

其中index是父页面,main_ifram是iframe对应的页面。

在index的部分,添加如下js代码,用来监听在index页面的F5的刷新操作。

$("body").bind("keydown",function(event){
if (event.keyCode == 116) {
event.preventDefault(); //阻止默认刷新
$("#main_frame").attr("src",window.frames["main_frame"].src);

}
})
这样,当鼠标点击过index页面的部分后,按F5刷新,就会重新刷新iframe的页面。但是如果鼠标点击过iframe的页面,再按F5,仍然回到了最初的位置。

在每个的iframe的页面,添加以下js代码,监听iframe对应的页面的F5的刷新操作。

$("body").bind("keydown",function(event){
if (event.keyCode == 116) {
event.preventDefault(); //阻止默认刷新
//location.reload();
//采用location.reload()在火狐下可能会有问题,火狐会保留上一次链接
location=location;
}
})
你可以将这部分提取出来,每个需要的页面引用即可

原文地址:https://www.cnblogs.com/fengzifengfeng/p/10668142.html

时间: 2024-10-10 18:50:24

iframe结构的网站按F5刷新子页面的实现方式的相关文章

HTML框架IFrame结合JS在主页面和子页面间传值

下面主页面和子页面互相传值的DEMO 如果仅仅需要子页面触发主页面的函数 仅需 [ parent.window.你的函数 ] 就可以了 DOM方法:父窗口操作IFRAME:window.frames["iframeSon"].documentIFRAME操作父窗口: window.parent.document jquery方法:在父窗口中操作 选中IFRAME中的所有输入框: (window.frames["iframeSon"].document).find(”

React报错:Laravel React-Router browserHistory 刷新子页面报错404

举例:myblog.com/ 刷新没问题 myblog.com/add 刷新404 browserHistory报404,hashHistory却正常 原因是少路由.web.php添加路由 Route::get('/add', function () { return view('welcome'); }); 原文地址:https://www.cnblogs.com/qq917937712/p/11133544.html

iframe子页面调用父页面javascript函数的方法(支持chrome和IE的通用方法)

iframe子页面调用父页面javascript函数的方法 今天遇到一个iframe子页面调用父页面js函数的需求,解决起来很简单,但是在chrome浏览器遇到一点小问题.顺便写一下iframe的父页面调用子页面javascript函数的方法吧,备用! 1.iframe子页面调用 父页面js函数 子页面调用父页面函数只需要写上window.praent就可以了.比如调用a()函数,就写成: window.praent.a(); 但是我在chrome浏览器下却发现此方法无效了!查了半天才了解,在c

JS刷新窗口的几种方式

浮层内嵌iframe及frame集合窗口,刷新父页面的多种方法 <script language=JavaScript> parent.location.reload(); </script> <script language=JavaScript> parent.location.reload(); </script> 弹出子页面 <script language=JavaScript> window.opener.location.reloa

在alert里面加入一个页面,子页面传值父页面

把easyDialog v2.0这个插件加入到了项目中,在做选择部门功能时运用这个插件,在easyDialog.open里面的content函数中套了一个iframe标签,把部门页面的地址放入到src中 <iframe id="iframe" src="<%=basePath %>admin/login/deptno" frameborder="no" border="0" height="240&

js父页面和子页面之间传值

今天和朋友一块讨论,怎样通过js在父页面和子页面之间传值的问题,总结例如以下: 需求描写叙述:父页面有多个子页面.实如今父页面点击子页面,传值到子页面. 看着非常easy,试了好久.主要纠结在怎样获取iframe,刚開始用document.getElementById('iframe的ID'),后来查资料才发现这样的方法仅仅是去取出了一个OBJECT,不能操作它的函数方法.后来改成window.iframes["iframe的name"],这样就能够获取子页面的整个DOM,能够操作它的

URL不变的情况下,最实用的vue刷新当前页面,provide / inject 组合 方式实现vue页面刷新

原文:https://blog.csdn.net/Dream_xun/article/details/83024487 其他参考:https://blog.csdn.net/liyunkun888/article/details/89022149   由于 router-view 是复用的,单纯的改变 id 的值并不会刷新 router-view 这是一种最实用的vue刷新当前页面,其他方式一般会出现一个瞬间的空白页面,体验不好,相当于按ctrl+F5 强制刷新那种方式:provide / in

iframe子页面内刷新父页面中另一个iframe子页面

框架页面如下: <div id="aa" style="float: left; height: 500px; border-right-style: solid; border-right-color: #CCCCFF; border-right-width: 2px;"> <IFRAME id="tree" name="tree" src="/ScienProjectWeb/commonjsp/

iframe嵌入的子页面如何刷新父窗口

iframe中刷新父页面方法及一些按钮刷新代码集合[原创+转]2009-07-23 11:12a页面里iframe了个b页面,我想实现在b页面里一个按钮,一按就刷新a页面,也就是父页面,不是只刷新iframe里面的b页面 哦~ 请问b页面里的<input type="button" class="btn" value=" 返 回 " onclick="history.back();">那个onclick 要怎么写呢