A. js如何获取cookie第一次登录时间
JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。而cookie是运行在客户端的,所以可以用JS来设置cookie.
假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B页面的时候,同样需要使用JS来引用temp的变量值,对于JS中的全局变量或者静态变量的生命周期是有限的,当发生页面跳转或者页面关闭的时候,这些变量的值会重新载入,即没有达到保存的效果。解决这个问题的最好的方案是采用cookie来保存该变量的值,那么如何来设置和读取cookie呢?
首先需要稍微了解一下cookie的结构,简单地说:cookie是以键值对的形式保存的,即key=value的格式。各个cookie之间一般是以“;”分隔。
JS设置cookie:
假设在A页面中要保存变量username的值("jack")到cookie中,key值为name,则相应的JS代码为:
Java代码 收藏代码
document.cookie="name="+username;
JS读取cookie:
假设cookie中存储的内容为:name=jack;password=123
则在B页面中获取变量username的值的JS代码如下:
Java代码 收藏代码
var username=document.cookie.split(";")[0].split("=")[1];
B. js设置cookie过期时间
//JS操作cookies方法!
//写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,reg=new RegExp(”(^| )”+name+”=([^;]*)(;|$)”);
if(arr=document.cookie.match(reg)) return unescape(arr[2]);
else return null;
}
//删除cookies
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();
}
//使用示例
setCookie(”name”,”hayden”);
alert(getCookie(”name”));
//如果需要设定自定义过期时间
//那么把上面的setCookie函数换成下面两个函数就ok;
//程序代码
function setCookie(name,value,time){
var strsec = getsec(time);
var exp = new Date();
exp.setTime(exp.getTime() + strsec*1);
document.cookie = name + ”=”+ escape (value) + ”;expires=” + exp.toGMTString();
}
function getsec(str){
alert(str);
var str1=str.substring(1,str.length)*1;
var str2=str.substring(0,1);
if (str2==”s”){
return str1*1000;
}else if (str2==”h”){
return str1*60*60*1000;
}else if (str2==”d”){
return str1*24*60*60*1000;
}
}
//这是有设定过期时间的使用示例:
//s20是代表20秒
//h是指小时,如12小时则是:h12
//d是天数,30天则:d30
//暂时只写了这三种
setCookie(”name”,”hayden”,”s20″);
C. javascript能否取到cookie的过期时间 path domain等信息
//javascript用document.cookie读取和操作Cookie
document.cookie="name=value;path=path";
//window.location
alert(
"host:"+window.location.host+" "+
"href:"+window.location.href+" "+
"protocol:"+window.location.protocol+" "
)
D. JS Cookie过期时间 怎么改
writeCookie ("stp", "abctest", 0.5);
E. js操作cookie时,不能使cookie过期,求答案
用个几百年后的日期。
F. JS如何判断Cookie是否过期,如何取值
由于asp的cookie是经过url编码的,所以读之前要unescape一下。
下面是我用正则的方法取cookie,包括单值专和多值:
/**************************************************
参数说明:
sMainName Cookie名
sSubName Cookie子键属名,留空表示单值Cookie
**************************************************/
function GetCookie(sMainName, sSubName)
{
var re = new RegExp((sSubName ? sMainName + "=(?:.*?&)*?" + sSubName + "=([^&;$]*)" : sMainName + "=([^;$]*)"),"i");
return re.test(unescape(document.cookie)) ? RegExp["$1"] : "";
}
G. js cookie 过期时间 无效
架个服务器再打开就可以了。没服务器直接打开写不进的。
H. javascript怎么获取cookie
function getCookie(name){
var strcookie = document.cookie;//获取cookie字符串
var arrcookie = strcookie.split("; ");//分割
//遍历匹配
for ( var i = 0; i < arrcookie.length; i++) {
var arr = arrcookie[i].split("=");
if (arr[0] == name){
return arr[1];
}
}
return "";
}
I. JS Cookie 设置过期时间无效
实现如下:
//JS操作cookies方法!
//写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();
}
//读取cookies
function
getCookie(name)
{
var
arr,reg=new
RegExp(”(^|
)”+name+”=([^;]*)(;|$)”);
if(arr=document.cookie.match(reg))
return
unescape(arr[2]);
else
return
null;
}
//删除cookies
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();
}
//使用示例
setCookie(”name”,”hayden”);
alert(getCookie(”name”));
//如果需要设定自定义过期时间
//那么把上面的setCookie函数换成下面两个函数就ok;
//程序代码
function
setCookie(name,value,time){
var
strsec
=
getsec(time);
var
exp
=
new
Date();
exp.setTime(exp.getTime()
+
strsec*1);
document.cookie
=
name
+
”=”+
escape
(value)
+
”;expires=”
+
exp.toGMTString();
}
function
getsec(str){
alert(str);
var
str1=str.substring(1,str.length)*1;
var
str2=str.substring(0,1);
if
(str2==”s”){
return
str1*1000;
}else
if
(str2==”h”){
return
str1*60*60*1000;
}else
if
(str2==”d”){
return
str1*24*60*60*1000;
}
}
//这是有设定过期时间的使用示例:
//s20是代表20秒
//h是指小时,如12小时则是:h12
//d是天数,30天则:d30
//暂时只写了这三种
setCookie(”name”,”hayden”,”s20″);
J. js或者jQuery如何获取cookie的有效时间
Cookie操作是我们在Web开发中经常会用到的功能,以往我们一般是通过javascript实现的。下面这款jquery插件是专门用来进行cookie操作 的,包括cookie的添加、清除、读取…… 你可以在这款插件的主页下载到它:http://jquery.com/ 当在页面中引用了jquery文件及该插件文件后,可进行如下操作: 设置cookie 设置一个名称为blog,值为css9.net的cookie: $.cookie("blog", "css9.net");设置一个名称为blog,值为css9.net的cookie,同时设置过期时间(expires属性)为7天: $.cookie("blog", "css9.net", { expires: 7 });设置一个名称为blog,值为css9.net的cookie,设置过期时间(expires属性)为7天,同 时设置cookie的path属性为”/admin” $.cookie("blog", "css9.net", { path: '/admin', expires: 7 });读取Cookie: 读取名称为blog的cookie值: alert( $.cookie("blog") );删除cookie: $.cookie("example", null); 下载的js文件中有更详细的解释说明