windows7系统软件、javascript1.8

lxf2023-03-12 09:03:01

方式:1、用“document.cookie="名字=值;"”句子来设置cookie或是改动cookie值;2、用“document.cookie”句子获得cookie值;3、可以将有效期限“expires”设为到期值来删掉cookie。

windows7系统软件、javascript1.8

实例教程作业环境:windows7系统软件、javascript1.8.5版、Dell G3计算机。

cookie 是存放于来访者的电子计算机里的自变量,当用户访问了某一网站时,就可以用 cookie 向来访者电脑中存放数据。以后,当客户在同一个一台计算机根据电脑浏览器再度要求该网页时,会推送这一 cookie,因此可以用 cookie 来识别客户。

1. 设定cookie

应用 cookie 来存放数据是可设置 cookie 来完成的。每一个 cookie 全是一个名/值对,名/值对用等号联接,并把这名/值对取值给 document.cookie 就可以。一次能将好几个名/值对值赋 document.cookie,并用分号加空格符分隔每一个名/值对。

设定 cookie 的最基本文件格式如下所示:

document.cookie = "名字1=值1[; 名字2=值2; …]";

设定 cookie 的例子如下所示:

document.cookie = "username=abc";
document.cookie = "age=23";
document.cookie = "username=abc; age=23";

需注意,在 cookie 的名字或值中无法使用分号;和等于号=等标记。如果要存进这些符号,需要使用 escape() 函数公式开展编号。比如:document.cookie="str=" escape("username=nch"),该编码等效于:document.cookie="str=username=nch",即等于号被编号为=。当使用 escape() 编号后,在取下值之后需要使用 unescape() 开展编解码才会得到原先的 cookie 值。

此外,应用以上文件格式设定的 cookie 里的值在客户计算机上存放时,要以域名方式来划分不一样页面的数据信息,并且不一样电脑浏览器储放 cookie 位置不一样,因而不一样电脑浏览器中间存储的 cookie 不可以相互浏览。此外,同一个网站域名下储存的 cookie 的数目是有限制的,不一样浏览器对储存的数量限定不一样。并且,每一个 cookie 储存的具体内容尺寸都是有限制的,不一样浏览器该尺寸限定也不一样。

2. 改动cookie值

如果想更改一个 cookie 值,仅需对它再次取值,比如:document.cookie="age=36";这样就能改动前边设定的 age=23 的 cookie 值。

3. 获得cookie

根据 document.cookie 来获得现阶段网址中的 cookie 时,换来的是字符串数组方式数值,该值包括了现阶段网址下每一个 cookie。他会把自己的 cookie 通过一个分号 空格符的方式连接起来。

要获得不同类型的 cookie 值,能将这一包括了分号及空格符的字符串数组应用 split() 方式按分号隔开转换成一个字符串数组,然后对于这个字符串数组开展赋值就可以获得每一个名/值对,对这个名/值对再次使用 split() 方式按等于号隔开转换成一个包括名称及系数的二维数组,就可以获得特定 cookie 名称的值得了。

比如要获得 cookie 名叫 age 的系数的编码如下所示:

document.cookie = "username=abc; age=23";
var arr1 = document.cookie.split(';');
for(var i = 0; i < arr1.length; i  ){
     var arr2 = arr1[i].split('=');
     if(arr2[0] == 'age'){
         alert(arr2[1]);
     }
}

4. 设定cookie的有效期限

默认设置前提下,cookie 是临时存储的,即默认设置还是存在运行内存的,并没存放到磁盘中,因此存储的 cookie 在浏览器进程关掉之后全自动消毁。如果要把 cookie 计算机中储存一段时间或保存起来,则需要在设定 cookie 时并对设置一个有效期限,设定文件格式如下所示:

document.cookie = "名字=值;expires=" 字符串数组格式时长;

比如:

var oDate = new Date();
oDate.setDate(oDate.getDate() 10);//网页访问后10天到期
//设定cookie的有效期限,期为字符串数组文件格式
document.cookie = 'username=abc;expires=' oDate.toGMTString();

5. 删掉cookie

直接把 cookie 的有效期限设成以往某一天就可以。比如:

var oDate = new Date();
oDate.setDate(oDate.getDate()-1);//网页访问的前一天
document.cookie = 'username=abc;expires=' oDate.toGMTString();

【例 1】应用 document 实际操作 cookie。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>应用cookie记牢登录用户名</title>
<script>
     window.onload = function(){
         var oUsername = document.getElementById('username');
         var oLogin = document.getElementById('login');
         var oDel = document.getElementById('del');
         //判定客户是不是以前登陆过
         if(getCookie('username')){
              oUsername.value = getCookie('username');
         }
         //界定一个函数来获得特定名称的cookie值:
         function getCookie(key){
              var arr1 = document.cookie.split(';');
              for(var i = 0; i < arr1.length; i  ){
                  var arr2 = arr1[i].split('=');
                  if(arr2[0] == key){
                       return unescape(arr2[1]);//对编号后的内容进行编解码
                  }           
              }
         }    
         //界定一个函数来设置cookie,与此同时设定cookie的有效期限
         function setCookie(key,value,t){
              var oDate = new Date();
              oDate.setDate(oDate.getDate() t);
              //应用escape()对信息进行编号
              document.cookie = key '=' escape(value) ';expires=' oDate.toGMTString();         
         }    
         //界定一个函数清除cookie
         function removeCookie(key){
              setCookie(key,'',-1);
         }
         oLogin.onclick = function(){
              alert('登录成功');
              //将输入登录名存储在cookie中,并且在登陆5天之后cookie到期
              setCookie('username',oUsername.value,5);
         }
         oDel.onclick = function(){
              removeCookie('username');
              oUsername.value = '';//清除cookie后清除输入框具体内容
         }
     };
</script>
</head>
<body>
     <input type="text" id="username"/>
     <input type="button" value="登陆" id="login"/>
     <input type="button" value="清理数据名cookie" id="del"/>
</body>
</html>

注:Firefox 和 IE 在本地只可以临时性实际操作 cookie,关闭浏览器后无法获取 cookie。而 Chrome 则不可以在本地实际操作 cookie。将例 1 分享到 Web 服务器上之后再浏览它时,这种电脑浏览器都能够实际操作 cookie。

下面要在 Chrome 电脑浏览器中浏览分享到 Tomcat Web 服务器上运行后分别是键入登录名后点击登录按钮和删除按钮得到的结果(Tomcat 网络服务器在机,因此可以用 localhost 做为网站域名来浏览它)。

windows7系统软件、javascript1.8

windows7系统软件、javascript1.8

键入登录名后点击登录按钮,在点击清理数据名 cookie 按键前关闭 Chrome 浏览器进程,随后再度开启 Chrome 浏览例 1,可获得图 3 所示的结论,即登录名就会自动展示在输入框中。假如点击清理数据名 cookie 按键后关闭 Chrome 浏览器进程,随后再度开启 Chrome 浏览例 1,则获得图 4 所示的结论,这时存储在 cookie 里的登录名已删除,因此不显示在单元格中。

【强烈推荐学习培训:javascript高级教程】

以上就是关于javascript如何完成cookie的操作的具体内容,大量欢迎关注AdminJS其他类似文章!