您现在的位置是:首页 > 教程 > dedecms教程dedecms教程
织梦cms模板中怎么实现使用js记录浏览历史并调用历史记录
雅琴2023-11-29 21:57:08dedecms教程已有人查阅
导读织梦的这两个函数很重要。织梦模板中使用js记录浏览历史并调用历史记录 他直接简化了JS的COOKIE。让他由复杂变的简单了。这两个函数在AJAX里面的。
织梦的这两个函数很重要。织梦模板中使用js记录浏览历史并调用历史记录 他直接简化了JS的COOKIE。让他由复杂变的简单了。这两个函数在AJAX里面的。
在include/js/dedeajax2.js里面,
如下:
在include/js/dedeajax2.js里面,
//读写cookie函数
function GetCookie(c_name)
{
if (document.cookie.length > 0)
{
c_start = document.cookie.indexOf(c_name + “=”)
if (c_start != -1)
{
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(“;”,c_start);
if (c_end == -1)
{
c_end = document.cookie.length;
}
return (document.cookie.substring(c_start,c_end));
}
}
return null
}
function SetCookie(c_name,value,expiredays)
{
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = c_name + “=” +escape(value) + ((expiredays == null) ? “” : “;expires=” + exdate.toGMTString()); //使设置的有效时间正确。增加toGMTString()
}
–>
增加一个函数。如下:
function getCookies(ids,title,img){
var saveid = GetCookie(‘id’);
var savetitle = GetCookie(‘products’);
var saveimg = GetCookie(‘images’);
if(saveid != null && savetitle != null && saveimg != null)
{
var saveids = saveid.split(‘,’);
var savetitles = savetitle.split(‘,’);
var saveimgs = saveimg.split(‘,’);
var hasid = false;
saveid = ”;
savetitle = ”;
saveimg = ”;
j = 1;
for(i=saveids.length-1;i>=0;i–)
{
if(saveids[i]==ids && hasid) continue;
else {
if(saveids[i]==ids && !hasid) hasid = true;
saveid += (saveid==” ? saveids[i] : ‘,’+saveids[i]);
savetitle += (savetitle==” ? savetitles[i] : ‘,’+savetitles[i]);
saveimg += (saveimg==” ? saveimgs[i] : ‘,’+saveimgs[i]);
j++;
if(j==10 && hasid) break;
if(j==9 && !hasid) break;
}
}
if(hasid) { return false; }
else saveid += ‘,’+ids;
savetitle += ‘,’+title;
saveimg += ‘,’+img;
SetCookie(‘id’,saveid,1);
SetCookie(‘products’,savetitle,1);
SetCookie(‘images’,saveimg,1);
}
else
{
SetCookie(‘id’,ids,1); //这个是ID。用来做链接用的
SetCookie(‘products’,title,1); //这个是标题,用来显示在页面的
SetCookie(‘images’,img,1); //这个是图片
}
}
2.在页面引用js.
<script language=”javascript” type=”text/javascript” src=”{dede:global.cfg_cmsurl/}/include/js/dedeajax2.js”></script>
<script language=”javascript” type=”text/javascript”>
getCookies({dede:field.id/},’{dede:field.title/}’,’{dede:field.litpic/}’)
function CheckLogin2(){
var taget_obj = document.getElementByIdx_x_x(‘_userlogin’);
myajax = new DedeAjax(taget_obj,false,false,”,”,”);
myajax.SendGet2(“{dede:global.cfg_cmspath/}/member/ajax_loginsta2.php”);
DedeXHTTP = null;
}
</script>
调用历史记录的代码:
<div class=”Recommend h-394″>
<h1 class=”rec-bg”><span class=”span-rt-3″><a onclick=”destroy_cookie()”>清空</a></span>最近浏览过的课程</h1>
<ul class=”w-223 browse ” id=”viewHistory”>
<script type=”text/javascript”>
function destroy_cookie(){
SetCookie(‘id’,”,1);
SetCookie(‘products’,”,1);
SetCookie(‘images’,”,1);
document.getElementByIdx_x_x(‘viewHistory’).innerHTML=””;
window.alert(‘你已成功清除浏览历史记录!’);
}
</script>
<script type=”text/javascript”>
var saveid = GetCookie(‘id’);
var savetitle = GetCookie(‘products’);
var saveimg = GetCookie(‘images’);
if(saveid != null && savetitle != null)
{
var saveids = saveid.split(‘,’);
var savetitles = savetitle.split(‘,’);
var saveimgs = saveimg.split(‘,’);
var hasid = false;
saveid = ”;
savetitle = ”;
saveimg = ”;
for(i=saveids.length-1;i>=0;i–)
{
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>”);
}
}
</script>
</ul>
</div>
本文标签:
很赞哦! ()
相关文章
随机图文
-
dedecms织梦{dede:freelist/}列表调用怎么增加排序方式
如何使用ecshop自由列表标签{dede:freelist/}本文就不多说了。当你用到自由列表的时候,会发现排序方式不全。 -
dedecms首页实现显示稿件的审核情况的方法
今天一位朋友问我,织梦模板如何实现在首页显示稿件的审核情况呢?并且他是这样操作的:出现的情况是未审核的稿件本应该显示‘0’但是没有显示,然后中间有一篇审核过的稿件 -
织梦dede基础教程详解
我们在学习之前先明确一个概念,什么是内容管理系统(CMS)?其实CMS是一个比较宽泛的概念,可能大家认为CMS程序就是一个建站程序 -
织梦cms调用文章标题超过字数限制后显示省略号代码实例
在织梦DEDECMS中调用文章,当标题超过限制字数时,怎么在标题后面加上……呢。其实不论是在首页还是列表页还是内容页调用文章,不管是arclist还是list标签调用文章
留言与评论 (共有 条评论) |