ガレコレ
Garage Collection
 
2020年9月12日(土)
[JavaScript] Cookieについて #■パソコン・通信

 Cookieとは、Webページにアクセスしたとき、デバイス側(パソコン、タブレット、スマホ)に情報を保存したり読み出したりできる仕組みです。ブラウザごとにCookieファイルを持っています。

 Cookieは、JavaScriptやPHPで取り扱うことができます。自分は、簡単なのでPHPをよく使います。JavaScriptは少しややこしいので、ここで整理しておきたいと思います。



【Cookieに保存】

■基本(期限無し)
 ブラウザを閉じたら無効になります。valueは、数値でも文字列でも、'value'のように囲みは不要です。
--
document.cookie
 
=
 
"key=value;";
 

--


■期限有り
 キー1つ1つに、期限を設定できます。

●expires=日付(協定世界時)
--
$date
 
=
 
new
 
Date();
 
 
//
 
現時刻
$time
 
=
 
$date.getTime();
 
 
//
 
ミリ秒
$expires
 
=
 
$time+90*24*60*60*1000;
 
 
//
 
90日間
$date
 
=
 
new
 
Date($expires);
document.cookie
 
=
 
"key=value;
 
expires="+$date.toUTCString();
--

●max-age=秒数
--
document.cookie
 
=
 
"key=value;
 
max-age=300";
 
 
//
 
5分間だけ有効
--

■消去
 期限を現時刻より前に設定すると、消去することが出来ます。



【Cookieを読み出す】

 document.cookieで、Cookieの中身を全部読み出すことが出来ます。
--
alert(document.cookie);
--

 document.cookieには、テキストで"key=value;
 
"の繰り返しで収められています。";
 
"で切り分けて、”=”で切り分けて、キーの値を取り出します。関数は無く、自作しなければいけません。
--
function
 
_cookieRead($key){
 
 

 
 
$target
 
=
 
document.cookie
 
 
 
 
.split(";
 
")
 
 
 
 
.find($row
 
=>
 
$row.startsWith($key));

 
 
if($target
 
===
 
undefined){
 
 
 
 
$cookie
 
=
 
"";
 
 
//
 
プログラミングによって変更
 
 
}else{
 
 
 
 
$cookie
 
=
 
$target.split("=")[1];
 
 
}
 
 
return
 
$cookie;
}
--



【Google
 
ChromeでCookieを確認、編集】

 EditThisCookie拡張機能で、簡単にできます。

https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=ja
 
お問い合わせ
by Network Communication Note