zoukankan      html  css  js  c++  java
  • JavaScript操作Cookie

    在Web开发中,我们经常使用Cookie保存一些不是非常敏高的数据。比如“下次自动登录”,“广告显示”等功能。定义是:某些网站为了辨别用户身份而存储在用户本地终端(主要是浏览器)上的数据。定义域RFC2109。

    Cookie总是保存在客户端中,可分为Cookie和硬盘Cookie。内存Cookie保存在内存中,浏览器关闭之后就消失了。硬盘Cookie保存在硬盘里面,有过期时间,除非用户手动清理或者其他网页脚本处理,或者到了Cookie的过期时间。

    Cookie的发明目的,因为HTTP协议是无状态的,服务器不知道用户上一次做了什么,这样浏览器和服务器交互时,服务器不知道浏览器的任何状态。服务器借助浏览器设置或读取Cookie中的信息,借此维护浏览器和服务器的会话状态。

    通过document.cookie,我们可以写入cookie或读取cookie。代码如下:

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            //写入cookie
            function setCookie(c_name, value, expiredays) {
                var exdate = new Date();
                exdate.setDate(exdate.getDate() + expiredays);
                document.cookie=c_name+"="+escape(value)+
                    ((expiredays==null)?"":";expires"+exdate.toGMTString())
            }
            setCookie("username", "Lee", 365);
            setCookie("password", "小明", 365);
    
            //读取cookie
            function getCookie(c_name) {
                if (document.cookie.length > 0) {
                    c_start = document.cookie.indexOf(c_name + "=");
                    if (c_start != -1) {
                        c_start = c_start + c_name.length + 1;
                        c_end = document.cookie.indexOf(";", c_start);
                        return unescape(document.cookie.substring(c_start, c_end));
                    }
                }
                return "";
            }
            var temp_cookie = "username=Lee; password=%u5C0F%u660E";
            var cookiename="username";
            var start = temp_cookie.indexOf(cookiename+"=");//0
            if(start!=-1){
                start = start + cookiename.length + 1;//1是等号的长度
                end = temp_cookie.indexOf(";", start);//找到分号
                console.log(unescape(temp_cookie.substring(start,end)));
            }
        </script>
    </body>
    </html>

    Cookie在隐私,安全和广告的问题

    很多网站,特别是新闻门户和电商网站,都会在用户访问该页面时,写入Cookie。然后你在访问其他网站或电商网站,这些网站也会读取这些cookie,当然确保可以读到cookie信息。然后后台广告服务器根据cookie的信息,为这个网站显示广告。也就是经常在网络营销里面提到的“人群定向”。

    参考资料:

    1.http://zh.wikipedia.org/wiki/Cookie

     

  • 相关阅读:
    oracle的分析函数over 及开窗函数
    ASP.NET中分布式事务的使用
    后台实现显示欢迎用户登陆的方法
    AjaxHelper的get和post请求的封装类
    登陆权限验证Session和Cookie用法及BasePage类使用
    四个常用.NET的SqlHelper的方法
    ASP.NET在实际开发中验证码的用法
    SQL Server事务的存储过程
    利用JQuery实现全选和反选的几种方法
    JS中表格的全选和删除要注意的问题
  • 原文地址:https://www.cnblogs.com/liminjun88/p/3521673.html
Copyright © 2011-2022 走看看