站点适当使用Cookies可以提高用户体验,比如本站边上的Workspace菜单中有修改背景图片的选项。然而我们也同时要方式Cookies过大,所以在这是Cookies的时候要尽量用参数。

因为修改背景图片是用JavaScript操作的,所以我用JavaScript做了背景图的Cookies。

代码

function setCookie(name,value){
    var Days = 30;
    var exp  = new Date();
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

function getCookie(name){
    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if(arr != null) return unescape(arr[2]); return null;
}

function delCookie(name){
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = getCookie(name);
    if(cval != null) document.cookie= name + "=" + cval + ";expires=" + exp.toGMTString();
}

而我上一篇文章介绍了如何利用 k780数据 查询百度、谷歌的收录量,但是我发现了一个问题:对于普通用户来说,每个小时查询次数上限为60次,也就是说每分钟只能查询一次。

这样子会出现一个弊端,在某时间段某用户刷新次数过多,会导致查询不到收录结果。于是我又想着用Cookies来解决这个问题,由于我是用PHP实现收录查询的,所以要用PHP来设置Cookies。

这种方法对于我这种小站来说足以,哈哈!

代码

if ($_COOKIE['baidu_num'] == '') {
	$baidu_num = get_baidu();
	SetCookie("baidu_num", $baidu_num, time() + 60*60*24);
} else $baidu_num = $_COOKIE['baidu_num'];
if ($_COOKIE['google_num'] == '') {
	$google_num = get_google();
	SetCookie("google_num", $google_num, time() + 60*60*24);
} else $google_num = $_COOKIE['google_num'];
转载保留版权:http://haipz.com/blog/i/6052 - 海胖博客