js 能实现监听F5页面刷新子iframe 而父页面不刷新

先讲一下流程:

  1. 监听F5事件,然后通过keycode判断。

  2. reload iframe里面的页面,但是实际效果确实整个页面都刷新

  3. 最主要的一点:event.preventDefault();//阻止系统刷新。

下面贴出自己的代码:

父页面中的js

window.document.onkeydown = disableRefresh;
function disableRefresh(evt){
evt = (evt) ? evt : window.event
if (evt.keyCode) {
   if(evt.keyCode == 116){
	 evt.preventDefault();//阻止系统刷新。
     console.info(document.getElementById('iframepage'));//.contentWindow.location.reload(true);
     var src=  document.getElementById('iframepage').src;
     document.getElementById('iframepage').src=src;
   }
}
}

html:

<iframe src="/index" id="iframepage" name="iframepage" frameBorder=0
scrolling="auto" width="100%" onLoad="reinitIframeEND();"></iframe>

子页面中的js

window.document.onkeydown = childRefresh;
function childRefresh(evt){
var iframeSrc = parent.document.getElementById('iframepage').src;
evt = (evt) ? evt : window.event;
if (evt.keyCode) {
   if(evt.keyCode == 116){
	 evt.preventDefault();//阻止系统刷新。
	 parent.document.getElementById('iframepage').src = iframeSrc;
   }
}
}


你可能感兴趣的:(js,iframe,keycode,f5刷新)