回答編集履歴

1

配列

2017/09/06 04:16

投稿

yambejp
yambejp

スコア114837

test CHANGED
@@ -117,3 +117,155 @@
117
117
  <input type="button" value="del C" onclick="delClickTime('c')">
118
118
 
119
119
  ```
120
+
121
+
122
+
123
+ # 配列
124
+
125
+ せっかくなので念の為配列を利用したサンプルもつけておきます
126
+
127
+ ※timeという配列にa,b,cをそれぞれ保存しています
128
+
129
+ ```javascript
130
+
131
+ function setCookie(key,val,url){
132
+
133
+ tmp = key+"="+escape(val)+";";
134
+
135
+ tmp += "expires=Fri, 31-Dec-2030 23:59:59;";
136
+
137
+ if(url){
138
+
139
+ tmp += "domain="+getDomain(url)+";";
140
+
141
+ tmp += "path="+getDomainPath(url)+";";
142
+
143
+ }
144
+
145
+ document.cookie = tmp;
146
+
147
+ };
148
+
149
+ function getCookie(key){
150
+
151
+ tmp = document.cookie+";";
152
+
153
+ tmp1 = tmp.indexOf(key,0);
154
+
155
+ if(tmp1 != -1){
156
+
157
+ tmp = tmp.substring(tmp1,tmp.length);
158
+
159
+ start = tmp.indexOf("=",0);
160
+
161
+ end = tmp.indexOf(";",start);
162
+
163
+ return(unescape(tmp.substring(start+1,end)));
164
+
165
+ }
166
+
167
+ return("");
168
+
169
+ };
170
+
171
+
172
+
173
+ function delCookie(key){
174
+
175
+ expiredate = new Date();
176
+
177
+ expiredate.setYear(expiredate.getYear()-1);
178
+
179
+ tmp = key+"=;";
180
+
181
+ tmp += "expires="+expiredate.toGMTString();
182
+
183
+ document.cookie = tmp;
184
+
185
+ };
186
+
187
+ function setClickTime(v){
188
+
189
+ var l=JSON.parse(getCookie('time')||"{}");
190
+
191
+ var d=new Date();
192
+
193
+ l[v]=d.toLocaleString();
194
+
195
+ setCookie("time",JSON.stringify(l));
196
+
197
+ }
198
+
199
+ function getClickTime(v){
200
+
201
+ var l=JSON.parse(getCookie('time')||"{}");
202
+
203
+ if(typeof l[v]!=="undefined"){
204
+
205
+ t=l[v];
206
+
207
+ }else{
208
+
209
+ t="no data";
210
+
211
+ }
212
+
213
+ console.log(t);
214
+
215
+ }
216
+
217
+ function delClickTime(v){
218
+
219
+ var l=JSON.parse(getCookie('time')||"{}");
220
+
221
+ delete(l[v]);
222
+
223
+ if(Object.keys(l).length==0){
224
+
225
+ delCookie("time");
226
+
227
+ }else{
228
+
229
+ setCookie("time",JSON.stringify(l));
230
+
231
+ }
232
+
233
+ }
234
+
235
+ function viewCookieAll(){
236
+
237
+ console.log(document.cookie);
238
+
239
+ }
240
+
241
+ ```
242
+
243
+ ```html
244
+
245
+ <input type="button" value="set A" onclick="setClickTime('a')">
246
+
247
+ <input type="button" value="set B" onclick="setClickTime('b')">
248
+
249
+ <input type="button" value="set C" onclick="setClickTime('c')">
250
+
251
+ <hr>
252
+
253
+ <input type="button" value="get A" onclick="getClickTime('a')">
254
+
255
+ <input type="button" value="get B" onclick="getClickTime('b')">
256
+
257
+ <input type="button" value="get C" onclick="getClickTime('c')">
258
+
259
+ <hr>
260
+
261
+ <input type="button" value="del A" onclick="delClickTime('a')">
262
+
263
+ <input type="button" value="del B" onclick="delClickTime('b')">
264
+
265
+ <input type="button" value="del C" onclick="delClickTime('c')">
266
+
267
+ <hr>
268
+
269
+ <input type="button" value="view" onclick="viewCookieAll()">
270
+
271
+ ```