找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1394|回复: 0

[分享] 织梦模板中使用js记录浏览历史并调用历史记录

[复制链接]
发表于 2018-2-27 09:35:18 | 显示全部楼层 |阅读模式 来自 中国–河南–郑州
织梦的这两个函数很重要。织梦模板中使用js记录浏览历史并调用历史记录 他直接简化了JS的COOKIE。让他由复杂变的简单了。这两个函数在AJAX里面的。
在include/js/dedeajax2.js里面,
  1. //读写cookie函数
  2. function GetCookie(c_name)
  3. {
  4. if (document.cookie.length > 0)
  5. {
  6. c_start = document.cookie.indexOf(c_name + “=”)
  7. if (c_start != -1)
  8. {
  9. c_start = c_start + c_name.length + 1;
  10. c_end = document.cookie.indexOf(“;”,c_start);
  11. if (c_end == -1)
  12. {
  13. c_end = document.cookie.length;
  14. }
  15. return (document.cookie.substring(c_start,c_end));
  16. }
  17. }
  18. return null
  19. }
  20. function SetCookie(c_name,value,expiredays)
  21. {
  22. var exdate = new Date();
  23. exdate.setDate(exdate.getDate() + expiredays);
  24. document.cookie = c_name + “=” +escape(value) + ((expiredays == null) ? “” : “;expires=” + exdate.toGMTString()); //使设置的有效时间正确。增加toGMTString()
  25. }
  26. –>
复制代码

增加一个函数。
如下:
  1. function getCookies(ids,title,img){
  2. var saveid = GetCookie(‘id’);
  3. var savetitle = GetCookie(‘products’);
  4. var saveimg = GetCookie(‘images’);
  5. if(saveid != null && savetitle != null && saveimg != null)
  6. {
  7. var saveids = saveid.split(‘,’);
  8. var savetitles = savetitle.split(‘,’);
  9. var saveimgs = saveimg.split(‘,’);
  10. var hasid = false;
  11. saveid = ”;
  12. savetitle = ”;
  13. saveimg = ”;
  14. j = 1;
  15. for(i=saveids.length-1;i>=0;i–)
  16. {
  17. if(saveids[i]==ids && hasid) continue;
  18. else {
  19. if(saveids[i]==ids && !hasid) hasid = true;
  20. saveid += (saveid==” ? saveids[i] : ‘,’+saveids[i]);
  21. savetitle += (savetitle==” ? savetitles[i] : ‘,’+savetitles[i]);
  22. saveimg += (saveimg==” ? saveimgs[i] : ‘,’+saveimgs[i]);
  23. j++;
  24. if(j==10 && hasid) break;
  25. if(j==9 && !hasid) break;
  26. }
  27. }
  28. if(hasid) { return false; }
  29. else saveid += ‘,’+ids;
  30. savetitle += ‘,’+title;
  31. saveimg += ‘,’+img;
  32. SetCookie(‘id’,saveid,1);
  33. SetCookie(‘products’,savetitle,1);
  34. SetCookie(‘images’,saveimg,1);
  35. }
  36. else
  37. {
  38. SetCookie(‘id’,ids,1);   //这个是ID。用来做链接用的
  39. SetCookie(‘products’,title,1); //这个是标题,用来显示在页面的
  40. SetCookie(‘images’,img,1); //这个是图片
  41. }
  42. }
复制代码

2.在页面引用js.
  1. <script language=”javascript” type=”text/javascript” src=”{dede:global.cfg_cmsurl/}/include/js/dedeajax2.js”></script>
  2. <script language=”javascript” type=”text/javascript”>
  3. getCookies({dede:field.id/},’{dede:field.title/}’,’{dede:field.litpic/}’)
  4. function CheckLogin2(){
  5. var taget_obj = document.getElementByIdx_x_x(‘_userlogin’);
  6. myajax = new DedeAjax(taget_obj,false,false,”,”,”);
  7. myajax.SendGet2(“{dede:global.cfg_cmspath/}/member/ajax_loginsta2.php”);
  8. DedeXHTTP = null;
  9. }
  10. </script>
复制代码

调用历史记录的代码:
  1. <div class=”Recommend h-394″>
  2. <h1 class=”rec-bg”><span class=”span-rt-3″><a onclick=”destroy_cookie()”>清空</a></span>最近浏览过的课程</h1>
  3. <ul class=”w-223 browse ” id=”viewHistory”>
  4. <script type=”text/javascript”>
  5. function destroy_cookie(){
  6. SetCookie(‘id’,”,1);
  7. SetCookie(‘products’,”,1);
  8. SetCookie(‘images’,”,1);
  9. document.getElementByIdx_x_x(‘viewHistory’).innerHTML=””;
  10. window.alert(‘你已成功清除浏览历史记录!’);
  11. }
  12. </script>
  13. <script type=”text/javascript”>
  14. var saveid = GetCookie(‘id’);
  15. var savetitle = GetCookie(‘products’);
  16. var saveimg = GetCookie(‘images’);
  17. if(saveid != null && savetitle != null)
  18. {
  19. var saveids = saveid.split(‘,’);
  20. var savetitles = savetitle.split(‘,’);
  21. var saveimgs = saveimg.split(‘,’);
  22. var hasid = false;
  23. saveid = ”;
  24. savetitle = ”;
  25. saveimg = ”;
  26. for(i=saveids.length-1;i>=0;i–)
  27. {
  28. document.write(“<li>” +”<div class=’w-53′><a href=\”/plus/view.php?aid=”+saveids[i]+”\” title=\””+savetitles[i]+”\”><img src=’”+saveimgs[i]+”‘ width=’52′ height=’51′/></a></div><p class=’w-53-rt’><a href=\”/plus/view.php?aid=”+saveids[i]+”\” title=\””+savetitles[i]+”\”>”+savetitles[i]+”</a></p></li>”);
  29. }
  30. }
  31. </script>
  32. </ul>
  33. </div>
复制代码

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-5 11:43 , Processed in 0.040355 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表