cookie-util
1 (function (name, factory) {
2 if (typeof define === 'function') {
3 define(factory);
4 } else if (typeof module !== 'undefined' && module.exports) {
5 module.exports = factory();
6 } else {
7 this[name] = factory(this[name]);
8 }
9 })('cookie', function (originalCookie) {
10 11
12 function cookie(name, value, options) {
13 var argLen = arguments.length;
14 if (argLen === 0) {
15 return all();
16 } else if (argLen === 1) {
17 return get(name);
18 } else {
19 return set(name, value, options);
20 }
21 }
22 cookie.originalCookie = originalCookie;
23 function all() {
24 var str = document.cookie,
25 res = {},
26 pairs, pair, name, value, i, len;
27 if (str === '') {
28 return res;
29 }
30 pairs = str.split(/;\s/g);
31 for (i = 0, len = pairs.length; i < len; i++) {
32 pair = pairs[i].split('=');
33 name = decodeURIComponent(pair[0]);
34 value = decodeURIComponent(pair[1]);
35 try {
36 value = JSON.parse(value);
37 } catch(e) {
38
39 }
40 res[name] = value;
41 }
42 return res;
43 }
44
45 function get(name) {
46 return all()[name];
47 }
48
49 function set(name, value, settings) {
50 var str, d,
51 options = settings || {};
52 if(value === null) {
53 options.maxAge = 0;
54 options.expires = -1;
55 }
56 if(value && typeof value === 'object') {
57 value = JSON.stringify(value);
58 }
59 str = encodeURIComponent(name) + '=' + encodeURIComponent(value);
60 if(options.maxAge != null) {
61 str += '; max-age=' + options.maxAge;
62 }
63 if(options.expires != null) {
64 d = new Date();
65 d.setTime(d.getTime() + options.expires * 1000);
66 str += '; expires=' + d.toUTCString();
67 }
68 if(options.path) {
69 str += '; path=' + options.path;
70 }
71 if(options.domain) {
72 str += '; domain=' + options.domain;
73 }
74 if(options.secure) {
75 str += '; secure';
76 }
77 document.cookie = str;
78 }
79
80 return cookie;
81 });
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.