php写程序的时候经常会用到cookie,比如存一些安全性要求不是很高又数量较大,比较有用的信息的时候;当然js写一些功能时页会遇到,比如,一个效果或功能在页面第一次访问的时候有作用等等,当然也可以用php实现,但是有的时候为了方便(静态化页面啦等等,当然也能用php做js来做)就可以直接用js这样的前端语言来操作,减去服务器压力。这里总结了一个js超值cookie的函数,先提前声明:在谷歌浏览器上,因为谷歌浏览器的机制,其处于安全的考虑,他只支持online-cookie,即你要是上线的,或者交用http等协议访问的页面,才起作用,有很多函数,他都有这样的限制,这里要特别注意一下!本地运行在谷歌浏览器不起作用,上线就可以了,自己配置一个环境或者ftp在线上看!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
<script> //取得cookie function getCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); //把cookie分割成组 for(var i=0;i < ca.length;i++) { var c = ca[i]; //取得字符串 while (c.charAt(0)==' ') { //判断一下字符串有没有前导空格 c = c.substring(1,c.length); //有的话,从第二位开始取 } if (c.indexOf(nameEQ) == 0) { //如果含有我们要的name return unescape(c.substring(nameEQ.length,c.length)); //解码并截取我们要值 } } return false; } //清除cookie function clearCookie(name) { setCookie(name,"", -1); } //设置cookie function setCookie(name, value, seconds) { seconds = seconds || 0; //seconds有值就直接赋值,没有为0,这个根php不一样。 var expires = ""; if (seconds != 0 ) { //设置cookie生存时间 var date = new Date(); date.setTime(date.getTime()+(seconds*1000)); expires = "; expires="+date.toGMTString(); } document.cookie = name+"="+escape(value)+expires+"; path=/"; //转码并赋值 } setCookie("test","tank",1800); //设置cookie的值,生存时间半个小时 alert(getCookie('test')); //取得cookie的值,显示tank clearCookie("test"); //删除cookie的值 alert(getCookie('test')); </script> |
之前用js的获取来路函数referrer,发现在谷歌浏览器上,用谷歌搜索的来路获取不到,也是因为他的机制或者插件的原因,在谷歌浏览器上用谷歌搜索他使用了https协议,而referrer是无法获取https的来路的
程序本天成,妙手偶得之!我们只是代码的搬运工!
转载请注明:http://www.521php.com/archives/1622/