首页index.jsp,页面有商品展示,点击某一商品名称或图片进入商品详细信息页面view.jsp。view.jsp页面左边包含left.jsp,left.jsp分上下两部分,上面是推荐商品,下面是最近浏览过的商品。
问题是这样的,点击首页商品“a”,view.jsp页面“最近浏览”会出现“a”。点击left.jsp页面的推荐商品“b”,最近浏览也会出现“b”。但是再回到首页,点击“c”,“最近浏览”也不会出现“c”。
这是为什么呢,不都是从cookie取值吗?为什么会出现不同页面cookie不同呢?求解!

解决方案 »

  1.   

    你setcookie的时候是怎么写的?
    代码贴一下
      

  2.   


    function setCookie(name,value){ 
    var exp = new Date(); 
    exp.setTime (exp.getTime()+3600000000); 
    document.cookie = name + "=" + escape(value) + "; expires=" + exp.toGMTString(); 
    }
    function glog(event){//点击超链接会触发这个事件
    event = event?event:window.event;
    var srcElem = event.srcElement?event.srcElement:event.target; 
    alert("srcElem.parentNode:"+srcElem.parentNode.nodeName);
    try{
    while(srcElem.parentNode&&srcElem!=srcElem.parentNode){
    if(srcElem.tagName&&srcElem.tagName.toUpperCase()=="A"){
    linkname=srcElem.title;
    address=srcElem.href+"_http://lm.ha.chinamobile.com_";
    wlink=linkname+"-"+address;
    //alert("wlink:"+wlink);
    old_info=getCookie("history_info");
    var insert=true;
    if(old_info==null){//判断cookie是否为空
    insert=true;
    }
    else{
    var old_link=old_info.split("_http://lm.ha.chinamobile.com_");
    for(var j=0;j<old_link.length;j++){
    if(old_link[j].indexOf(linkname)!=-1)
    insert=false;
    if(old_link[j]=="null")
    break;
    }
    }
    if(insert){
    wlink+=getCookie("history_info");
    setCookie("history_info",wlink);
    history_show().reload();
    break;
    }
    }
    srcElem = srcElem.parentNode;
    }
    }
    catch(e){}
    return true;
    }
      

  3.   

    根据你的意思这句
    srcElem.tagName&&srcElem.tagName.toUpperCase()=="A"
    应该是||吧,
    srcElem.tagName||srcElem.tagName.toUpperCase()=="A"
      

  4.   

    srcElem.tagName== "A"|| srcElem.tagName.toUpperCase()=="A"
      

  5.   

    这个没有关系,我试过了,是不同的页面获得的cookie值不同。我在另一个包含left.jsp的页面看到的最近浏览信息也是不同的。