zoukankan      html  css  js  c++  java
  • js

    【cookie】
    Cookies 是一些数据, 存储于你电脑上的文本文件中。
    当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。
    Cookies 的作用就是用于解决 "如何记录客户端的用户信息":
        当用户访问 web 页面时,他的名字可以记录在 cookie 中。
        在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。
    Cookies 以名/值对形式存储,如下所示:
    username=yehui

    当浏览器从服务器上请求 web 页面时, 属于该页面的 cookies 会被添加到该请求中。服务端通过这种方式来获取用户的信息。
    cookie 用来识别用户。
    什么是cookie:cookie是存储于访问者的计算机中的变量,每当同一台计算机通过浏览器请求页面时,就会发送这个cookie,可以使用javascript来创建和取回cookie的值。


    在开发过程中会遇到的cookie问题:
    1)当访问者首次访问页面时,他或她也许会填写他/她们的名字。名字会存储于 cookie 中。当访问者再次访问网站时,他们会收到类似 "Welcome John Doe!" 的欢迎词。而名字则是从 cookie 中取回的。
    2)当访问者首次访问页面时,他或她也许会填写他/她们的密码。密码也可被存储于 cookie 中。当他们再次访问网站时,密码就会从 cookie 中取回。
    3)当访问者首次访问你的网站时,当前的日期可存储于 cookie 中。当他们再次访问网站时,他们会收到类似这样的一条消息:"Your last visit was on Tuesday August 11, 2005!"。日期也是从 cookie 中取回的。

    创建cookie:
    JavaScript 可以使用 document.cookie 属性来创建 、读取、及删除 cookies。

    document.cookie="username=yehui";

    您还可以为 cookie 添加一个过期时间(以 UTC 或 GMT 时间)。默认情况下,cookie 在浏览器关闭时删除:

    document.cookie="username=yehui; expires=Thu, 18 Dec 2013 12:00:00 GMT";

    您可以使用 path 参数告诉浏览器 cookie 的路径。默认情况下,cookie 属于当前页面。

    document.cookie="username=yehui; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/";


    获取cookie:
    在 JavaScript 中, 可以使用以下代码来读取 cookies:
    var x = document.cookie;

    document.cookie// 将以字符串的方式返回所有的 cookies,类型格式: cookie1=value; cookie2=value; cookie3=value;

    修改cookie:
    在 JavaScript 中,修改 cookies 类似于创建 cookies,如下所示:

    document.cookie="username=yehui; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/";

    旧的 cookie 将被覆盖。
    注意,当您删除时不必指定 cookie 的值。

    一个欢迎词的cookie:

    <script type="text/javascript">
            document.cookie="userId=828;path='/'";
            document.cookie="userName=yehui;path='/'";
            var strCookie=document.cookie;
            alert(strCookie); 
            //创建cookie
            function setcookie(name,value,exdays){
                var date = new Date();
                date.setTime(date.getTime()+(exdays*24*60*60*1000));
                var expires = "exdays=" +date.toGMMTString();
                document.cookie = name+ "=" +value+";"+expires;
            }
    
            //获取cookie
            function getcookie(name){
                var myname = name + "=";
                var ca = document.cookie.split(";");
                for(var i = 0; i<ca.length; i++){
                    var c = ca[i].trim();//去掉字符串首尾空格。 
                    if(c.indexOf(myname) == 0){
                        return c.substring(myname.length,c.length);
                    }
                }
                return "";
            }
    
            //检测cookie
            function checkcookie(){
                var user = getcookie("username");
                if(user != ""){
                    alert("欢迎再次回来" + user);
                }else{
                    user = prompt("请输入你的名字:","");//用于显示可提示用户进行输入的对话框
                    if(user != "" && user != null){
                        setcookie("username", user, 30);
                    }
                }
            }
        </script>
  • 相关阅读:
    经典之计算机内存管理
    Git 远程仓库
    【玩转微信公众平台之十】 图文消息回复解说
    C++11中的继承构造函数
    树莓派使用无线网卡上网相关命令
    swift的UITableView的使用
    相似微信的ChattingUi
    HDOJ 5289 Assignment 单调队列
    poj1936
    samba 文件和目录权限控制
  • 原文地址:https://www.cnblogs.com/yehui-mmd/p/6106812.html
Copyright © 2011-2022 走看看