记得以前学JS的时候。那个COOKIE就没有搞清楚。太麻烦了哈。不像PHP一个函数什么都搞定了。他那个COOKIE一多就不得了。那字符串截的头晕。
所以织梦写的这两个函数很重要。他直接简化了JS的COOKIE。让他由复杂变的简单了。这两个函数在AJAX里面的。
//读写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 unescape(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()
}
把文件引进来后。点击并创建COOKIE
/创建cookie
function getCookies(ids,title){
var saveid = GetCookie(‘id’);
var savetitle = GetCookie(‘products’);
if(saveid != null && savetitle != null)
{
var saveids = saveid.split(‘,’);
var savetitles = savetitle.split(‘,’);
var hasid = false;
saveid = ”;
savetitle = ”;
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]);
j++;
if(j==10 && hasid) break;
if(j==9 && !hasid) break;
}
}
if(hasid) { return false; }
else saveid += ‘,’+ids;
savetitle += ‘,’+title;
SetCookie(‘id’,saveid,1);
SetCookie(‘products’,savetitle,1);
}
else
{
SetCookie(‘id’,ids,1); //这个是文章ID,好做链接的
SetCookie(‘products’,title,1); //这个是文章标题,用来显示的
}
}
创建好了在内容页读取COOKIE。
<!–输出cookie–>
<script type=”text/javascript”>
var saveid = GetCookie(‘id’);
var savetitle = GetCookie(‘products’);
if(saveid != null && savetitle != null)
{
var saveids = saveid.split(‘,’);
var savetitles = savetitle.split(‘,’);
var hasid = false;
saveid = ”;
savetitle = ”;
for(i=saveids.length-1;i>=0;i–)
{
document.write(“<li class=\”listline2 textflow\” οnmοuseοver=\”this.style.backgroundColor=’#e4e5ea’\” οnmοuseοut=\”this.style.backgroundColor=”\”>” +
“<span class=\”adKeyword\”>·</span> <a href=\”/plus/view.php?aid=”+saveids[i]+”\” title=\”“+savetitles[i]+”\”>”+savetitles[i]+”</a></li>”);
}
}
</script>
最后,清除COOKIE。这个可用AJAX实现。其实用JS也有那种效果的。
//消除cookie,这儿用AJAX更好的
function destroy_cookie(){
SetCookie(‘id’,”,1);
SetCookie(‘products’,”,1);
document.getElementById(‘viewHistory’).innerHTML=”“;
window.alert(‘你已成功清除浏览历史记录!’);
}
ok了。要的时候可以直接调函数。没有函数的可以直接写在需要的地方就好了。其实不难。但是得费点时间搞。
转载自原文链接, 如需删除请联系管理员。
原文链接:JS—demo(一)用JS实现浏览历史记录功能,转载请注明来源!