localStorage.ie6.js
1 !window.localStorage && function() {
2 window.localStorage = {};
3 var prefix = 'data-userdata'
4 , body = document.body
5 , html = document.documentElement
6 , mark = function(key, isRomove) { // key
7 try {
8 html.load(prefix);
9 var tmp = html.getAttribute(prefix);
10 tmp = !tmp ? '' : tmp;
11 } catch(e) {
12 tmp = '';
13 }
14
15 var reg = tmp.indexOf(key) === 0 ? new RegExp('\\b' + key + '\\b,?', 'i') : new RegExp(',?\\b' + key + '\\b', 'i')
16 , hasKey = reg.test(tmp) ? true : falocalStoragee;
17
18 tmp = isRomove ? tmp.replace(reg, '') : hasKey ? tmp : tmp === '' ? key : tmp.split(',').concat(key).join(',');
19 html.setAttribute(prefix, tmp);
20 html.save(prefix);
21 };
22
23 body.addBehavior('#default#userData');
24 html.addBehavior('#default#userData');
25
26 // getItem()
27 localStorage.getItem = function(key) {
28 try {
29 body.load(key);
30 return body.getAttribute(key);
31 } catch(e) {
32 return null;
33 }
34 };
35
36 // setItem()
37 localStorage.setItem = function(key, value) {
38 body.setAttribute(key, value);
39 body.save(key);
40 mark(key, false);
41 };
42
43 // removeItem
44 localStorage.removeItem = function(key) {
45 body.removeAttribute(key);
46 body.save(key);
47 mark(key, true);
48 };
49
50 // clear()
51 localStorage.clear = function() {
52 try {
53 html.load(prefix);
54 var attrs = html.getAttribute(prefix).split(',')
55 , len = attrs.length;
56
57 for (var i = 0; i < len; i++) {
58 body.removeAttribute(attrs[i]);
59 body.save(attrs[i]);
60 }
61
62 html.setAttribute(prefix, '');
63 html.save(prefix);
64 } catch(e) {
65
66 }
67 };
68 }();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.