在开始本篇主要内容前,我们一起看看下面的几张截图,首先是第一张图,如下图所示: 这是一家电商网站的首页,当我们第一次打开这个首页,网站会弹出一个强制性的对话框,让用户选择货物配送的地址,如果是淘宝和京东的话,那么这个选择配货地址的选项是在商品里,如下图是淘宝的选择配送地点: 下图是京东选择配货地点: 那么图一 跟京东和淘宝有什么区别呢?图一的电商强制用户选择地区后,那么我们在查询这个商品时候会因为地区不同,显示的查询结果会不一样,这个就和网站做国际化有 点像,不过网站国际化是切语言和语言相关的静态资源,但是电商这个地域的选择是和业务相关的,不同的地域查询结果是不相同的,这个选择地域的弹出框很像一 个路由器。相比之下,淘宝和京东把商品的配送和商品相关,那么我们在这些网站里查询商品时候,其实是按照全国查询的,全国不同的地方查询同一个条件所获得 到的结果是一致的。从业务角度而言,这说明第一个电商的业务没有全国铺开,就算是铺开了,地域的差异也影响到物流的问题,而淘宝和京东则正是一个全国意义 的大型电商网站了。…
jquery 缓存插件 jquery cookie plugin
jquery.cookie

A simple, lightweight jQuery plugin for reading, writing and deleting cookies.
If you’re viewing this, you’re reading the documentation for the old repository. View documentation for the latest backwards compatible release (1.5.1).
Build Status Matrix
Installation
Include script after the jQuery library (unless you are packaging scripts somehow else):
<script src="/path/to/jquery.cookie.js"></script>
Do not include the script directly from GitHub (http://raw.github.com/…). The file is being served as text/plain and as such being blocked in Internet Explorer on Windows 7 for instance (because of the wrong MIME type). Bottom line: GitHub is not a CDN.
The plugin can also be loaded as AMD or CommonJS module.
Usage
Create session cookie:
$.cookie('name', 'value');
Create expiring cookie, 7 days from then:
$.cookie('name', 'value', { expires: 7 });
Create expiring cookie, valid across entire site:
$.cookie('name', 'value', { expires: 7, path: '/' });
Read cookie:
$.cookie('name'); // => "value"
$.cookie('nothing'); // => undefined
Read all available cookies:
$.cookie(); // => { "name": "value" }
Delete cookie:
// Returns true when cookie was successfully deleted, otherwise false
$.removeCookie('name'); // => true
$.removeCookie('nothing'); // => false
// Need to use the same attributes (path, domain) as what the cookie was written with
$.cookie('name', 'value', { path: '/' });
// This won't work!
$.removeCookie('name'); // => false
// This will work!
$.removeCookie('name', { path: '/' }); // => true
Note: when deleting a cookie, you must pass the exact same path, domain and secure options that were used to set the cookie, unless you’re relying on the default options that is.
Configuration
raw
By default the cookie value is encoded/decoded when writing/reading, using encodeURIComponent
/decodeURIComponent
. Bypass this by setting raw to true:
$.cookie.raw = true;
json
Turn on automatic storage of JSON objects passed as the cookie value. Assumes JSON.stringify
and JSON.parse
:
$.cookie.json = true;
Cookie Options
Cookie attributes can be set globally by setting properties of the $.cookie.defaults
object or individually for each call to $.cookie()
by passing a plain object to the options argument. Per-call options override the default options.
expires
expires: 365
Define lifetime of the cookie. Value can be a Number
which will be interpreted as days from time of creation or a Date
object. If omitted, the cookie becomes a session cookie.
path
path: '/'
Define the path where the cookie is valid. By default the path of the cookie is the path of the page where the cookie was created (standard browser behavior). If you want to make it available for instance across the entire domain use path: '/'
. Default: path of page where the cookie was created.
Note regarding Internet Explorer:
Due to an obscure bug in the underlying WinINET InternetGetCookie implementation, IE’s document.cookie will not return a cookie if it was set with a path attribute containing a filename.
(From Internet Explorer Cookie Internals (FAQ))
This means one cannot set a path using path: window.location.pathname
in case such pathname contains a filename like so: /check.html
(or at least, such cookie cannot be read correctly).
domain
domain: 'example.com'
Define the domain where the cookie is valid. Default: domain of page where the cookie was created.
secure
secure: true
If true, the cookie transmission requires a secure protocol (https). Default: false
.
Converters
Provide a conversion function as optional last argument for reading, in order to change the cookie’s value to a different representation on the fly.
Example for parsing a value into a number:
$.cookie('foo', '42');
$.cookie('foo', Number); // => 42
Dealing with cookies that have been encoded using escape
(3rd party cookies):
$.cookie.raw = true;
$.cookie('foo', unescape);
You can pass an arbitrary conversion function.
项目地址:https://github.com/carhartl/jquery-cookie
下载附件:jquery-cookie-master