// JavaScript Document // クッキー処理 // クッキーの取得 function getCookie(name) { if (!name || !document.cookie) return; var cookies = document.cookie.split(";"); for (var i = 0; i < cookies.length; i++) { var str = cookies[i].split("="); if (trim(str[0]) != name) continue; return unescape(trim(str[1])); } return; } // クッキーの発行 // name クッキー名(必須) // value クッキーの値 // domain ドメイン // 参照可能なドメインを指定する。指定しない場合は省略するか、以下の「0」か「1」のいずれかを記述する。 // 0: 発行したサーバ(省略時)、1: 発行したドメイン名が含まれるサーバ // path パス // 参照可能なパスを指定する。指定しない場合は省略するか、以下の「0」か「1」のいずれかを記述する。 // 0: 発行したカレントディレクトリ(省略時)、1: 発行したページ // expires 有効期限 // 有効期限の日数を指定する。(12時間の場合は 0.5と指定) // ※セッション中のみ有効にする場合:0 または省略 // ※クッキーを削除する場合:-1 // secure セキュアフラグ(SSL 通信時のみ指定可) // SSL (https) 通信時のクッキーの暗号化を指定する。 // 0: 無効、 1: 有効 function setCookie(name, value, domain, path, expires, secure) { if (!name) return; var str = name + "=" + escape(value); if (domain) { if (domain == 1) domain = location.hostname.replace(/^[^\.]*/, ""); str += "; domain=" + domain; } if (path) { if (path == 1) path = location.pathname; str += "; path=" + path; } if (expires) { var nowtime = new Date().getTime(); expires = new Date(nowtime + (60 * 60 * 24 * 1000 * expires)); expires = expires.toGMTString(); str += "; expires=" + expires; } if (secure && location.protocol == "https:") { str += "; secure"; } document.cookie = str; } // スマートフォン関連 function setSpCookie(name, value) { setCookie(name, value, "", "/", 90); } function trim(str) { return str.replace(/^\s+|\s+$/g, ""); }