local storage حافظه محلی در HTML5

local storage حافظه محلی در HTML5
حافظه محلی در HTML، بهتر از کوکی ها است.
♦ local storage در HTML چیست؟
با حافظه محلی، اپلکیشن های وب می توانند، داده ها را بصورت محلی در داخل مرورگر کاربر ذخیره کنند.
قبل از HTML5، داده های برنامه باید در کوکی ها ذخیره می شدند، از جمله در هر درخواست سرور. ذخیره سازی محلی بسیار امن تر است و مقدار زیادی از اطلاعات و داده ها را می توان بدون تاثیر بر عملکرد وب سایت، بصورت محلی ذخیره کرد.
بر خلاف کوکی ها، محدودیت ذخیره سازی بسیار بیشتر (حداقل 5MB) است و اطلاعات هرگز به سرور منتقل نمی شوند.
حافظه محلی به ازای هر دامنه است. تمام صفحات یک دامنه می توانند می توانند به داده های یکسان دسترسی داشته باشند و آنها را ذخیره نمایند.
♦ پشتیبانی مرورگرها از local storage
اولین نسخه های مرورگرهایی که بطور کامل از ذخیره سازی محلی پشتیبانی کرده اند، بصورت زیر می باشد:
► مرورگر chrome : نسخه 4.0
► مرورگر internet Explorer : ورژن 8
► مرورگر FireFox : ورژن 3.5
► مرورگر Opera : نسخه 11.5
► مرورگر safari : نسخه 4
♦ اشیاء حافظه محلی در HTML
local storage دو شیء برای ذخیره اطلاعات روی کلاینت (سرویس گیرنده) فراهم میکند:
► window.localStorage : داده ها را بدون هیچ تاریخ انقضایی ذخیره می کند.
► window.sessionStorage : داده ها را برای یک session ذخیره می سازد (زمانی که tab بسته شود داده ها از بین خواهند رفت.)
قبل از استفاده از localstorage پشتیبانی مرورگرتان از اشیای localStorage و sessionStorage را چک کنید:
// Code for localStorage/sessionStorage.
} else {
// Sorry! No Web Storage support..
}
♦ شی localStorage
آبجکت localStorage داده ها را بدون تاریخ انقضا ذخیره می نماید. در این شی، داده ها با بستن مرورگر از بین نخواهند رفت و روز، هفته، و سال بعد قابل دسترسی خواهند بود.
localStorage.setItem("lastname", "Smith");
// Retrieve
document.getElementById("result").innerHTML = localStorage.getItem("lastname");
توضیح مثال بالا:
► ایجاد یک جفت نام / مقدار برای localStrorage به صورت lastname / smith .
► بازیابی مقدار lastname و قرار دادن آن در عنصر با ID به نام result.
مثال بالا را می توان به این صورت زیر نوشت:
localStorage.lastname = "Smith";
// Retrieve
document.getElementById("result").innerHTML = localStorage.lastname;
سینتکس از بین بردن آیتم localstorage ی به نام lastname، به شرح زیر است:
توجه داشته باشید: جفت های Name/value، همواره به عنوان رشته ذخیره می شوند. به یاد داشته باشید که در مواقع لزوم، آنها را به فرمت دیگری تبدیل کنید.
♦ آبجکت sessionStorage در local storage
شی sessionStorage مشابه آبجکت localStorage است، با این تفاوت که این شی داده ها را فقط برای یک session ذخیره می کند. زمانی که کاربر پنجره مرورگر را می بندد، اطلاعات نیز حذف می شوند.
مثال زیر تعداد دفعاتی را که user در session فعلی روی دکمه ای کلیک میکند را می شمارد:
sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1;
} else {
sessionStorage.clickcount = 1;
}
document.getElementById("result").innerHTML = "You have clicked the button " +
sessionStorage.clickcount + " time(s) in this session.";