نحوه استفاده از Cookie ها بدون plugin توسط jQuery

پنجشنبه 8 مرداد 1394

در این مقاله می خواهیم به نحوه استفاده و تنظیم cookie ها بدون plugin در jQuery بپردازیم. cookie یکی از پرکاربردترین مکانیسم در وب سایت ها می باشد که با استفاده از آن می توانیم، محلی برای ذخیره داده مورد نیاز کاربر داشته باشیم و هروقت نیاز داشتیم می توانیم آن را مشاهده و از آن استفاده کنیم.

نحوه استفاده از Cookie ها  بدون plugin توسط jQuery

در اینجا می خواهیم با یک روش بسیار راحت، در jQuery، از cookie ها استفاده کنیم. 

این یک مثال ساده و ساختگی است. اما نشان می دهد که چگونه یک cookie را در طول یک Session تنظیم و دستکاری کرده و چگونه آن را به مقدار صفر reset  کنید. در اینصورت دیگر برای دفعه بعد چیزی را با خود ندارد.

تفاوت cookie و Session در این است که در cookie می توانیم مرورگر را تنظیم کنیم که تا چه مدت اطلاعات را ذخیره کند. اما  Session به صورت لحظه ای می باشد. 

 در اینجا،در هر بار که کاربر روی کلیدی به نام  "btnAddMonteCristo" کلیک می کند،در حال افزایش مقدار Cookie به نام "adumas" هستیم. 

در ابتدا توابع get و set را اینجا قرار داده ایم:

function setCookie(key, value) {
    var expires = new Date();
    expires.setTime(expires.getTime() + 31536000000); //1سال   
    document.cookie = key + '=' + value + ';expires=' + expires.toUTCString();
}

function getCookie(key) {
    var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
    return keyValue ? keyValue[2] : null;
}

در هرزمان شروع تازه، هنگام unload شدن، مقدار cookie را 0 قرار می دهیم 

$(window).unload(function () {
    setCookie('adumas', '0');
});

در زمان اجرا، مقدار را  (که باید 0 باشد) با دستور getcookie را بازیابی کنید.

$(window).load(function () {
    var countofmontecristo = getCookie('adumas');  
});

و در اینجا شما می توانید مقدار را در طول عملیات تنظیم کنید.

$(document).on("click", '[id$=btnAddMonteCristo]', function (e) {
    var currentcount = new Number(getCookie('adumas'));
    var thebettertoincyouwithmydear = new Number(1);
    currentcount = currentcount + thebettertoincyouwithmydear;
    setCookie('adumas', currentcount);
});

البته برای هر مقداری، شما می توانید مقدار را در هرجایی، با صدا زدن getCookie استفاده کنید و از ان برای انجام کاری مثل نمایش دادن آن یا هرکار دیگری استفاده کنید. همچنین همانطور که در مثال نشان داده شده است، اگر افزایش آن را حس می کنید، می توانید آن را کاهش دهید.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • Jquery
  • 1k بازدید
  • 3 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید