用JS实现浏览历史记录功能
2013-03-05 22:50
701 查看
记得以前学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\" onmouseover=\"this.style.backgroundColor='#e4e5ea'\" onmouseout=\"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的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\" onmouseover=\"this.style.backgroundColor='#e4e5ea'\" onmouseout=\"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 实现浏览历史记录示例
- 使用cookies实现浏览历史记录功能
- js操作Cookie,实现历史浏览记录
- 使用cookies实现浏览历史记录功能
- 使用cookies实现浏览历史记录功能
- asp.net 使用cookies或者session实现浏览历史记录功能
- js实现搜索历史记录功能
- 通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
- js操作Cookie,实现历史浏览记录
- js 实现浏览历史记录
- 使用cookies实现浏览历史记录功能
- js 实现浏览历史记录示例
- jQuery.cookie.js实现记录最近浏览过的商品功能示例
- JS实现导航栏记住点击后的浏览位置变色功能
- Android 类似淘宝 电商 搜索功能,监听软键盘搜索事件,延迟自动搜索,以及时间排序的搜索历史记录的实现
- javascript结合Cookies实现浏览记录历史第1/3页
- 用JS实现带cookies保存记录的换肤功能
- Python高级编程-如何实现用户的历史记录功能?
- session实现浏览历史记录
- 使用cookie实现打印浏览记录的功能