• Javascript-简单的欢迎cookie


     1 0<!DOCT0000YPE html>
     2 
     3 <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
     4 <head>
     5     <meta charset="utf-8" />
     6     <title>小白学JavaScript</title>
     7 </head>
     8 <body onload="checkCookie()">
     9 
    10     <script>
    11         //新建cookie(定义一个方法新建cookie)
    12         function setCookie(cname,cvalue,eadays ) {                      //设置一个名字为cname,值为cvalue,过期天数为eadays的cookie
    13             var d = new Date();                                         //定义一个日期对象
    14             d.setTime(d.getTime() + (eadays * 24 * 60 * 60 * 1000));    //设置一个过期时间,getTime() 为获取当前时间 + (eadays天数*24小时*60分钟*60秒*1000毫米)这里是将其换算成毫秒,因为getTime()获取的时间都是毫秒为单位的
    15             var expires = "expires=" + d.toGMTString();                 //将获取到的时间转为字符串输出
    16             document.cookie = cname + "=" + cvalue + ";" + expires;     //输出cookie  cookie名字:cookie值;cookie到期时间
    17         };
    18 
    19         //读取cookie(定义一个方法读取cookie)
    20         function getCookie(cname) {                                                     //读取名字为cname的cookie
    21             var name = cname + "=";                                                     //定义name为cookie名字=
    22             var ca = document.cookie.split(';');                                        //将cookie以分号;为界将其分割为数组,即为:[cookie名字:cookie值,cookie到期时间]
    23             for (var i = 0; i < ca.length; i++) {
    24                 var c = ca[i].trim();                                                   //删除第i个ca字符串首位的空格
    25                 if (c.indexOf(name) == 0) return c.substring(name.length, c.length);    //如果name在c里首次出现的位置等于0,也就是处于第一个的时候,就返回c下标为(name.length, c.length)的字符
    26             } return "";                                                                //否则返回一个空
    27            
    28         };
    29 
    30         //自动检测cookie(最后在这里来通过判断来调用决定何时如何调用以上两种方法)
    31         function checkCookie() {
    32             var user = getCookie("username");             //定义调用getCookie()这个方法,并为其赋值username
    33             if (user != "") {                             //判断,如果这个方法不为空,也就是cookie不为空的时候
    34                 alert("Welcome again " + user);            //弹出一个欢迎该用户的窗口
    35             } else {
    36                 user = prompt("请输入您的名字:", "");     //否则就弹出一个提示用户输入名字的窗口
    37                 if (user != "" && user != null) {         //判断如果getCookie()这个方法读取到值,不为空和null的时候
    38                     setCookie("username", user, 30);      //就调用setCookie()这个方法新建一个名为username,值为user,过期天数为30天的cookie
    39                 };
    40             };
    41         };
    42 
    43 
    44 
    45 
    46         /*  方法解释
    47         split()方法用于把一个字符串分割成字符串数组
    48         var str = "How are you doing today?"
    49 
    50         document.write(str.split(" ") + "<br />")   //显示为:How,are,you,doing,today?
    51         document.write(str.split("") + "<br />")    //显示为:H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
    52         document.write(str.split(" ", 3))           //显示为:How,are,you
    53 
    54         //trim()方法用于删除字符串首部和尾部的空格,但会保留字符串内部作为词与词之间分隔的空格
    55 
    56         //indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置
    57 
    58         //substring() 方法用于提取字符串中介于两个指定下标之间的字符
    59         var str = "Hello world!"
    60 
    61         document.write(str.substring(3, 7))          //显示为:lo w  */
    62 
    63     </script>
    64 
    65 
    66 </body>
    67 </html>
  • 相关阅读:
    Windows 上 Redis 的安装
    SpringBoot项目application.yml 问题
    Gradle项目使用zxing在windows下报错:android:jar must specify an absolute path but is /${env.ANDROID_HOME}/…
    day23<AJAX>
    day22<文件上传>
    day21<过滤器>
    day20<监听器&国际化>
    day19<Service>
    day18<事务&连接池&DBUtils>
    day17<JDBC>
  • 原文地址:https://www.cnblogs.com/leona-d/p/5692766.html
Copyright © 2020-2023  润新知