用js和cookie实现最近浏览过的商品在网上很容易找,但是都是点击文字链接的,我想要问的是如何点击图片链接把商品信息存进cookies。

解决方案 »

  1.   

    onclick="javascript: function(XXOO);"主要是XXOO起作用!
      

  2.   

    文字链接<a href="1.html" onclick="glog()">某某商品</a>
    图片链接<a href="1.html" onclick="glog()"><img src="a.jpg"/></a>
    这两个链接分别要传入的参数是什么?
      

  3.   

    关键就是图片获取不到,所以id和名称获取不到,我把代码贴出来吧,大家帮我看看<!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>
    <title>中国站长天空-网页特效-综合特效-仿淘宝网的最近浏览记录功能</title>
    <meta http-equiv="content-type" content="text/html;charset=gb2312">
    <script language="javascript">
    //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.zzsky.cn_";
    wlink=linkname+"+"+address;
    old_info=getCookie("history_info");
    var insert=true;
    if(old_info==null){//判断cookie是否为空
    insert=true;
    }
    else{
    var old_link=old_info.split("_www.zzsky.cn_");
    for(var j=0;j<=5;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;
    }
    document.onclick=glog;
    function history_show(){
    var history_info=getCookie("history_info");
    var content="";
    if(history_info!=null){
    history_arg=history_info.split("_www.zzsky.cn_");
    var i;
    for(i=0;i<=5;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="对不起,您没有任何浏览记录!";
    }
    }
    </script>
    </head>
    <body>
    <div>您最近关注的内容(只显示6个最近关注的内容并且不会重复出现):</div>
    <div id="history">
      <script language="javascript">history_show();</script>
    </div>
    <div>
      <br><br>请选择:<br>
      <a href="#">ASP</a>
      <a href="#">PHP</a>
      <a href="#">ASP.NET</a>
      <a href="#">JSP</a>
      <a href="#">C#</a>
      <a href="#">VB</a>
      <a href="#">VC</a>
      <a href="#">AJAX</a>
      <a href="#">DELPHI</a>
    </div>
    </body>
    </html>
      

  4.   

    问题已经解决  就是用上面的代码实现的 不过还有一个问题  上面的代码是document.onclick=glog;也就是点击所有链接都触发这样的操作,怎样才可以实现只有点击图片或文字才触发这个事件呢?
    我试过这样处理 <a href="1.html" onclick="glog()">某某商品 </a> 
    图片链接 <a href="1.html" onclick="glog()"> <img src="a.jpg"/> </a> 
    但只有文字链接才可以,图片链接还是不行,我再试试吧,如果还没有人能解决,我要结贴了。
      

  5.   

    var aobj = document.getElementByTagName('a')
    for(var i=0;i<aobj.length;i++)
    {
       aobj[i].onclick=function(i){
           glog();
       }(i);
    }
      

  6.   

    版主您好。我现在也在做一个关于cookie实现产品浏览历史记录的功能。遇到了和版主同样的问题。纠结了2天了。还望版主不惜赐教! 先谢谢了!    
    在线求解!!