より良い洞察があれば、ぜひ議論してください。
/*
* Js クラス Cookie
* 著者:Mr Co
*/
var Cookie = function(/*Cookie name*/name){
this.$name = name;
var allcookies = document.cookie;
if(allcookies == '') return;
var cookies = allcookies.split(';');
var cookie = null; .length; i ){
if(cookies[i].substring(0,name.length 1) == (name '=')){
cookie = cookies[i];
}
}
if(cookie == null) return;
var cookieval = cookie.substring(name.length 1);
var a = cookieval.split('&') ;
for(var i = 0; i
a[i] = a[i].split(':');
for( var i = 0; a.length i ){
this[a[i][0]] = decodeURIComponent(a[i][1]); >/*
* Cookie データ オブジェクトを保存
*/
Cookie.prototype.store = function(/*有効期限 (1 は 1 日などを意味します)*/daysToLive,/*現在の Cookie の実効アドレス*/path, /*現在の cookie の有効なドメイン名アクセス*/domain,/*security*/secure){
var cookieval = '';
for(var prop in this){
if(( prop.charAt( 0) == '$') || ((typeof this[prop]) == '関数'))
if(cookieval != '') cookieval = '&'; >cookieval = prop ':' encodeURIComponent(this[prop]);
}
var cookie = this.$name '=' cookieval;
if(daysToLive || daysToLive == 0){
cookie = '; max-age=' (daysToLive * 24 *60 *60);
if(パス) Cookie = '; path=' パス; ;domain=' ドメイン;
if(secure) cookie = ';secure';
document.cookie = cookie;
/*
* Cookie データの指定された属性を削除しますobject
*/
Cookie.prototype.remove = function(/*現在の Cookie の有効なアドレス*/path,/*現在の Cookie の有効なドメイン名アクセス*/domain,/*セキュリティ*/secure){
for(var prop in this ){
if(prop.charAt(0) != '$' && typeof this[prop] != 'function') delete this[prop]
}
this .store(0,path ,domain,secure);
}
/*
* 現在のクライアント ブラウザが Cookie をサポートしているかどうかを確認します
*/
Cookie.IsAllowCookie = function(){
if(! navigator.cookieEnabled){
alert('注意喚起:
n お使いのブラウザは現在ページ Cookie を無効にしています。これにより、次のような問題が発生する可能性があります。
nrn食べ物データを選択すると、ページを更新すると、選択した食べ物データが失われます。 rnrnブラウザの Cookie を有効にすることをお勧めします!');
return false;
}
return
}
Test JS DEMO
コードをコピー
コードは次のとおりです:
function testFn(){