Welcome 微信登录

首页 / 脚本样式 / JavaScript / jQuery中cookie插件用法实例分析

本文实例讲述了jQuery中cookie插件用法。分享给大家供大家参考,具体如下:
Jquery里面提供了很多插件,方便,安全,快速实用。这节一起熟悉下JQUERY中操作Cookie的插件,插件名称为jquery.cookie.js,可以去官方网站下载。
下载地址: http://plugins.jquery.com/project/cookie.
插件主要报告如下几个用法
1.创建Cookie
创建一个名称为username,值为 admin的cookie ,如下
复制代码 代码如下:$.cookie("username","admin");
当然cookie还包括路径,过期时间等其他参数,一起看下其他参数的用法
复制代码 代码如下:$.cookie("username", "admin", {expires: 7, path: "/", domain: "jquery.com", secure: true});
expires:表示过期时间,默认为天,如上表示过期时间为7天,如果省略过期时间,表示关闭浏览器时候,cookie将被删除
也可以设置cookie的过期时间,如下设置3分钟后过期
var dt= new date();dt.settime(date.gettime() + (3* 60 * 1000));$.cookie("username", "admin", { expires: dt});
path:定义cookie的有效路径,默认情况下路径为创建cookie网页所在的路径,如果想让整个网站访问到,路径设置为path: "/"
domain:设置cookie所在的域
secure:  如果为true表示cookie的传输需要使用https安全协议,默认为false
2.删除Cookie
可以使用两种方法
$.removeCookie("username");$.cookie("username","null");
3.读取cookie
复制代码 代码如下:var account = $.cookie("username");
如果没有写入cookie,读取到的值为undefined
附:jquery.cookie.js完整代码如下:
/*! * jQuery Cookie Plugin v1.4.1 * https://github.com/carhartl/jquery-cookie * * Copyright 2006, 2014 Klaus Hartl * Released under the MIT license */(function (factory) {if (typeof define === "function" && define.amd) {// AMD (Register as an anonymous module)define(["jquery"], factory);} else if (typeof exports === "object") {// Node/CommonJSmodule.exports = factory(require("jquery"));} else {// Browser globalsfactory(jQuery);}}(function ($) {var pluses = /+/g;function encode(s) {return config.raw ? s : encodeURIComponent(s);}function decode(s) {return config.raw ? s : decodeURIComponent(s);}function stringifyCookieValue(value) {return encode(config.json ? JSON.stringify(value) : String(value));}function parseCookieValue(s) {if (s.indexOf(""") === 0) {// This is a quoted cookie as according to RFC2068, unescape...s = s.slice(1, -1).replace(/\"/g, """).replace(/\\/g, "\");}try {// Replace server-side written pluses with spaces.// If we can"t decode the cookie, ignore it, it"s unusable.// If we can"t parse the cookie, ignore it, it"s unusable.s = decodeURIComponent(s.replace(pluses, " "));return config.json ? JSON.parse(s) : s;} catch(e) {}}function read(s, converter) {var value = config.raw ? s : parseCookieValue(s);return $.isFunction(converter) ? converter(value) : value;}var config = $.cookie = function (key, value, options) {// Writeif (arguments.length > 1 && !$.isFunction(value)) {options = $.extend({}, config.defaults, options);if (typeof options.expires === "number") {var days = options.expires, t = options.expires = new Date();t.setMilliseconds(t.getMilliseconds() + days * 864e+5);}return (document.cookie = [encode(key), "=", stringifyCookieValue(value),options.expires ? "; expires=" + options.expires.toUTCString() : "", // use expires attribute, max-age is not supported by IEoptions.path ? "; path=" + options.path : "",options.domain ? "; domain=" + options.domain : "",options.secure ? "; secure" : ""].join(""));}// Readvar result = key ? undefined : {},// To prevent the for loop in the first place assign an empty array// in case there are no cookies at all. Also prevents odd result when// calling $.cookie().cookies = document.cookie ? document.cookie.split("; ") : [],i = 0,l = cookies.length;for (; i < l; i++) {var parts = cookies[i].split("="),name = decode(parts.shift()),cookie = parts.join("=");if (key === name) {// If second argument (value) is a function it"s a converter...result = read(cookie, value);break;}// Prevent storing a cookie that we couldn"t decode.if (!key && (cookie = read(cookie)) !== undefined) {result[name] = cookie;}}return result;};config.defaults = {};$.removeCookie = function (key, options) {// Must not alter options, thus extending a fresh object...$.cookie(key, "", $.extend({}, options, { expires: -1 }));return !$.cookie(key);};}));
希望本文所述对大家jQuery程序设计有所帮助。