首页 > 代码库 > 利用cookie实现iframe刷新时停留在当前页面

利用cookie实现iframe刷新时停留在当前页面

这段时间第一次用iframe,发现问题还挺多,这次主要解决了一个用cookie实现iframe刷新时停留在当前页面,具体步骤如下:

1.必须在每一个页面中记录下当前的url并存入cookie中,具体代码如下:

<script>
//记录当前页面url
document.cookie="url=regist_code.html";
</script>

2.在主页面中读取cookie中键为‘url‘的值。代码如下:

 <iframe id="index_frame" name="index_Frame" src=http://www.mamicode.com/""
width="100%" height="88%" allowTransparency="true" frameborder="0" ranat="server"></iframe>

//js代码
<script>
var iframe = document.getElementById(‘index_frame‘);
if(iframe.getAttribute(‘src‘)!=‘‘){
iframe.setAttribute(‘src‘,‘index.html‘);//判断第一次进入页面时,显示的是第一个页面,详见ps
}
function getCookie(url)
{
if (document.cookie.length>0)
{
var strCookie=document.cookie;
//将多cookie切割为多个名/值对
var arrCookie=strCookie.split("; ");
//遍历cookie数组,处理每个cookie对
for(var i=0;i<arrCookie.length;i++){
var arr=arrCookie[i].split("=");
//找到名称为userId的cookie,并返回它的值
if(url==arr[0]){
return(arr[1]);
break;
}
}
}
}
iframe.setAttribute(‘src‘,getCookie(‘url‘));//重新设置获取的url,实现刷新显示当前页面
</script>

ps:本次例子是将所有的页面都提出来,包括主页,所以第一次的进入页面的时候需要设置iframe的src,如果直接在src中写入src="http://www.mamicode.com/index.html"的话,当页面刷新时会有延迟,使得页面先出现index.html的内容,然后才显示其他当前点击页面的内容。

利用cookie实现iframe刷新时停留在当前页面