这段时间第一次用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=""
width="100%" height="88%" allowTransparency="true" frameborder="0" ranat="server"></iframe>
var iframe = document.getElementById("index_frame");
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;
}
else{
//如果不存在url这个cookie,显示主页
return 'index.html';
}
}
}
else{
//如果不存在url这个cookie,显示主页
return 'index.html';
}
}
iframe.src = getCookie('url');//注意使用iframe.setAttribute()的浏览器兼容性,本人测试过火狐和360等都不认
本次例子是将所有的页面都提出来,包括主页,所以第一次的进入页面的时候需要设置iframe的src,如果直接在src中写入src="index.html"的话,当页面刷新时会有延迟,使得页面先出现index.html的内容,然后才显示其他当前点击页面的内容。
ps:如果要实现点击其他页面刷新以后还留在当前页面的话 您需要将文件运行起来才行 因为cookie在同一域名中起作用,再本机上即为http://localhost:123/Desktop/xxxx.html