织梦的这两个函数很重要。织梦模板中使用js记录浏览历史并调用历史记录 他直接简化了JS的COOKIE。让他由复杂变的简单了。这两个函数在AJAX里面的。
在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>