質問するログイン新規登録

回答編集履歴

1

配列

2017/09/06 04:16

投稿

yambejp
yambejp

スコア118098

answer CHANGED
@@ -57,4 +57,80 @@
57
57
  <input type="button" value="del A" onclick="delClickTime('a')">
58
58
  <input type="button" value="del B" onclick="delClickTime('b')">
59
59
  <input type="button" value="del C" onclick="delClickTime('c')">
60
+ ```
61
+
62
+ # 配列
63
+ せっかくなので念の為配列を利用したサンプルもつけておきます
64
+ ※timeという配列にa,b,cをそれぞれ保存しています
65
+ ```javascript
66
+ function setCookie(key,val,url){
67
+ tmp = key+"="+escape(val)+";";
68
+ tmp += "expires=Fri, 31-Dec-2030 23:59:59;";
69
+ if(url){
70
+ tmp += "domain="+getDomain(url)+";";
71
+ tmp += "path="+getDomainPath(url)+";";
72
+ }
73
+ document.cookie = tmp;
74
+ };
75
+ function getCookie(key){
76
+ tmp = document.cookie+";";
77
+ tmp1 = tmp.indexOf(key,0);
78
+ if(tmp1 != -1){
79
+ tmp = tmp.substring(tmp1,tmp.length);
80
+ start = tmp.indexOf("=",0);
81
+ end = tmp.indexOf(";",start);
82
+ return(unescape(tmp.substring(start+1,end)));
83
+ }
84
+ return("");
85
+ };
86
+
87
+ function delCookie(key){
88
+ expiredate = new Date();
89
+ expiredate.setYear(expiredate.getYear()-1);
90
+ tmp = key+"=;";
91
+ tmp += "expires="+expiredate.toGMTString();
92
+ document.cookie = tmp;
93
+ };
94
+ function setClickTime(v){
95
+ var l=JSON.parse(getCookie('time')||"{}");
96
+ var d=new Date();
97
+ l[v]=d.toLocaleString();
98
+ setCookie("time",JSON.stringify(l));
99
+ }
100
+ function getClickTime(v){
101
+ var l=JSON.parse(getCookie('time')||"{}");
102
+ if(typeof l[v]!=="undefined"){
103
+ t=l[v];
104
+ }else{
105
+ t="no data";
106
+ }
107
+ console.log(t);
108
+ }
109
+ function delClickTime(v){
110
+ var l=JSON.parse(getCookie('time')||"{}");
111
+ delete(l[v]);
112
+ if(Object.keys(l).length==0){
113
+ delCookie("time");
114
+ }else{
115
+ setCookie("time",JSON.stringify(l));
116
+ }
117
+ }
118
+ function viewCookieAll(){
119
+ console.log(document.cookie);
120
+ }
121
+ ```
122
+ ```html
123
+ <input type="button" value="set A" onclick="setClickTime('a')">
124
+ <input type="button" value="set B" onclick="setClickTime('b')">
125
+ <input type="button" value="set C" onclick="setClickTime('c')">
126
+ <hr>
127
+ <input type="button" value="get A" onclick="getClickTime('a')">
128
+ <input type="button" value="get B" onclick="getClickTime('b')">
129
+ <input type="button" value="get C" onclick="getClickTime('c')">
130
+ <hr>
131
+ <input type="button" value="del A" onclick="delClickTime('a')">
132
+ <input type="button" value="del B" onclick="delClickTime('b')">
133
+ <input type="button" value="del C" onclick="delClickTime('c')">
134
+ <hr>
135
+ <input type="button" value="view" onclick="viewCookieAll()">
60
136
  ```