ホームページ >ウェブフロントエンド >jsチュートリアル >Cookie_js オブジェクト指向の JS オブジェクト指向プログラミング

Cookie_js オブジェクト指向の JS オブジェクト指向プログラミング

WBOY
WBOYオリジナル
2016-05-16 18:19:301121ブラウズ

より良い洞察があれば、ぜひ議論してください。

コードをコピーします コードは次のとおりです:

/*
* 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(){
var cookie = new Cookie('テスト'); if(!cookie.name || !cookie.color){ cookie.name = プロンプト('あなたの名前は何ですか:',''); ('あなたの好きな色は何ですか:',''); if(!cookie.visits) cookie.visits = 1; else cookie.visits ; ); alert('color:' cookie.color ' name:' cookie.name ' 訪問数:' cookie.visits);
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。