下面代码在单个页面上测试成功,如果当上面页面是子页面的时候,怎么将结果显示到主页上
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script>
var view_num = 8; //显示历史记录数
//cookie的相关函数
function getCookieVal (offset) 

var endstr = document.cookie.indexOf (";", offset); 
if (endstr == -1) endstr = document.cookie.length; 
return unescape(document.cookie.substring(offset, endstr)); 

       
 function getCookie (name) 
 {
 var arg = name + "="; 
 var alen = arg.length; 
 var clen = document.cookie.length; 
 var i = 0; 
 while (i < clen) 
 { 
 var j = i + alen; 
 if (document.cookie.substring(i, j) == arg) return getCookieVal (j); 
 i = document.cookie.indexOf(" ", i) + 1; 
 if (i == 0) break; 
 } 
 return null; 
 } 
function setCookie (name, value) 

   var exp = new Date(); 
   exp.setTime (exp.getTime()+3600000000); 
   document.cookie = name + "=" + value + "; expires=" + exp.toGMTString(); 
}////////////////////////////////////function glog(evt)
{
 
evt=evt?evt:window.event;var srcElem=(evt.target)?evt.target:evt.srcElement; try
{
while(srcElem.parentNode&&srcElem!=srcElem.parentNode)
{
if(srcElem.tagName&&srcElem.tagName.toUpperCase()=="A")
{
linkname=srcElem.innerHTML;
address=srcElem.href+"_www.xiit.cn_";
wlink=linkname+"+"+address; 
old_info=getCookie("history_info_xiit");
var insert=true; 
//////////////////////// if(old_info==null)          //判断cookie是否为空
{
 insert=true;
}
else

var old_link=old_info.split("_www.xiit.cn_");
for(var j=0;j<=view_num-1;j++)
  {
 if(old_link[j].indexOf(linkname)!=-1)
 insert=false;
 if(old_link[j]=="null")
 break;
 }
 }
/////////////////////////////
if(insert)                //如果符合条件则重新写入数据
{
wlink+=getCookie("history_info_xiit");
setCookie("history_info_xiit",wlink);
history_show().reload();
break;
} }
srcElem = srcElem.parentNode;
}
}
catch(e){}
return true;
}document.onclick=glog;
//////////////////////////////////////////////////////////////////////////////// 
function history_show()
{   
 var history_info=getCookie("history_info_xiit");
 var content=""; 
 if(history_info!=null)
 {
 history_arg=history_info.split("_www.xiit.cn_");
 var i;
 for(i=0;i<=view_num-1;i++)
 {
if(history_arg[i]!="null")
{
var wlink=history_arg[i].split("+");
content+=("<font color='#ff000'>↑</font>"+"<a href='"+wlink[1]+"' target='_blank'>"+wlink[0]+"</a><br>");
}
document.getElementById("history").innerHTML=content;
}
}else{
document.getElementById("history").innerHTML="对不起,您没有任何浏览纪录";
}
}
// JavaScript Document
</script>
</head><body>
<div>
<br>
<br>
点击链接:
<a href="#">网站1</a>
<a href="#">网站2</a>
<a href="#">网站3</a>
<a href="#">网站4</a>
<a href="#">网站5</a>
<a href="#">网站6</a>
<a href="#">网站7</a>
<a href="#">网站8</a>
<a href="#">网站9</a>
</div>
<div style="height:100%;"  id="history">
<script>
history_show();
</script>
</div>
</body>
</html>

解决方案 »

  1.   

    简单点说,
    上面是JS是用来记录点击过的超链接。
    假如a.html是主页,b.html是另一个页面。上面的js代码放在在b.html里面执行,记录b页面点击过的超链接。
    如何将最后的结果,即history_show()显示到a.html上。
      

  2.   

    首先,从必须能够访问到a,
    比如说,b是a的子窗口,或者是同一窗口中的两个frame.
    将你的cookie访问的函数放到JS文件中.
    并被两个页面扎所包含.从b通过a窗口对象访问对调用a的函数将信息显示出来.
      

  3.   

    a.html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
    <title>无标题文档</title>
    </head>
    <script type="text/javascript" src="CookieUtility.js"></script>
    <script language="javascript">
    var view_num = 8;
    var win;window.onload=function(){
    win = window.open("b.html");
    }//////////////////////////////////////////////////////////////////////////////// 
    function history_show() 
    {
    var history_info=getCookie("history_info_xiit");
    var content="";
    if(history_info!=null) 
    {
    history_arg=history_info.split("_www.xiit.cn_");
    var i;
    for(i=0;i<=view_num-1;i++) 
    {
    if(history_arg[i]!="null") 
    {
    var wlink=history_arg[i].split("+");
    content+=("<font color='#ff000'></font>"+"<a href='"+wlink[1]+"' target='_blank'>"+wlink[0]+"</a><br>");
    }
    document.getElementById("history").innerHTML=content;
    }
    }
    else
    {
    document.getElementById("history").innerHTML="对不起,您没有任何浏览纪录";
    }
    }
    // JavaScript Document 
    </script>
    <body>
    <div style="height:100%;" id="history">
    <script language="javascript">
    history_show();
    </script>
    </div>
    </body>
    </html>
      

  4.   

    b.html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
    <title>无标题文档</title>
    </head>
    <script type="text/javascript" src="CookieUtility.js"></script>
    <script language="javascript">
    var view_num = 8;
    //////////////////////////////////// 
    function glog(evt) 
    {
    evt=evt?evt:window.event;
    var srcElem=(evt.target)?evt.target:evt.srcElement;
    try  
    {
    while(srcElem.parentNode&&srcElem!=srcElem.parentNode) 
    {
    if(srcElem.tagName&&srcElem.tagName.toUpperCase()=="A") 
    {
    linkname=srcElem.innerHTML;
    address=srcElem.href+"_www.xiit.cn_";
    wlink=linkname+"+"+address;
    old_info=getCookie("history_info_xiit");
    var insert=true;

    ////////////////////////  
    if(old_info==null) //判断cookie是否为空  
    {
    insert=true;
    }
    else  
    {
    var old_link=old_info.split("_www.xiit.cn_");

    for(var j=0;j<=view_num-1;j++) 
    {
    if(old_link[j].indexOf(linkname)!=-1) 
    insert=false;

    if(old_link[j]=="null") 
    break;
    }
    }
    /////////////////////////////  
    if(insert) //如果符合条件则重新写入数据  
    {
    wlink+=getCookie("history_info_xiit");
    setCookie("history_info_xiit",wlink);
    break;
    }
    }
    srcElem = srcElem.parentNode;
    } } catch(err) {
    //alert(err.description);
    }
    return true;
    }
    //document.onclick=glog;// JavaScript Document 
    window.onload=function(){
    document.onclick= function(){
    glog();
    window.opener.history_show();
    }
    }
    </script>
    <body>
    <div>
    <br>
    <br>
    点击链接:<a href="#">网站1</a>
    <a href="#">网站2</a>
    <a href="#">网站3</a>
    <a href="#">网站4</a>
    <a href="#">网站5</a>
    <a href="#">网站6</a>
    <a href="#">网站7</a>
    <a href="#">网站8</a>
    <a href="#">网站9</a>
    </div> <div style="height:100%;" id="history">
    </div>
    </body>
    </html>
      

  5.   

    CookieUtility.js//显示历史记录数 //cookie的相关函数 
    function getCookieVal (offset) 
    {
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1) 
    endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
    }function getCookie (name) 
    {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) 
    {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg) return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) 
    break;
    }
    return null;
    }function setCookie (name, value) 
    {
    var exp = new Date();
    exp.setTime (exp.getTime()+3600000000);
    document.cookie = name + "=" + value + ";expires=" + exp.toGMTString();
    }