ذخیره سازی وب HTML5
ذخیره سازی وب HTML5 چیست ؟
آموزش APIs درس سوم
ذخیره سازی وب HTML5 ، بهتر از کوکی ها.
ذخیره سازی وب HTML چیست؟
با ذخیره سازی وب، برنامه های کاربردی وب می توانند داده ها را به صورت محلی در مرورگر کاربر ذخیره کنند.
قبل از HTML5، داده های برنامه باید در کوکی ها ذخیره شوند، که در هر درخواست سرور شامل می شود. ذخیره سازی وب امن تر است، و مقدار زیادی از داده ها را می توان به صورت محلی ذخیره کرد، بدون تاثیر بر عملکرد وب سایت.
بر خلاف کوکی ها، حد ذخیره سازی بسیار بزرگتر است (حداقل 5 مگابایت) و اطلاعات هرگز به سرور منتقل نمی شود.
ذخیره سازی وب به هر مبدأ (در هر دامنه و پروتکل) است. تمام صفحات، از یک مبدأ، می توانند داده های مشابه را ذخیره و به آنها دسترسی داشته باشند.
پشتیبانی مرورگر
اعداد در جدول اولین نسخه مرورگر را مشخص می کند که به طور کامل از ذخیره سازی وب پشتیبانی می کند.
API | کروم | اینترنت اکسپلورر | فایرفاکس | سافاری | آپرا |
Web Storage | 4.0 | 8.0 | 3.5 | 4.0 | 11.5 |
پشتیبانی مرورگر html5 را از اینجا ببینید
اشیاء ذخیره سازی وب HTML
ذخیره سازی وب HTML دو اشیاء برای ذخیره داده ها در مشتری فراهم می کند:
• window.localStorage – داده های ذخیره شده بدون تاریخ انقضا
• window.sessionStorage – داده ها را برای یک جلسه ذخیره می کند (زمانی که نوار مرورگر بسته است داده ها از بین می روند)
قبل از استفاده از ذخیره سازی وب، پشتیبانی مرورگر برای localStorage و sessionStorage را بررسی کنید:
[php]
if (typeof(Storage) !== "undefined") {
// Code for localStorage/sessionStorage.
} else {
// Sorry! No Web Storage support..
}
[/php]
شیء LocalStorage
شیء localStorage داده ها را بدون تاریخ انقضا ذخیره می کند. وقتی مرورگر بسته می شود داده ها حذف نخواهد شد و روز، هفته یا سال بعد در دسترس خواهند بود.
مثال :
[php]
// Store
localStorage.setItem("lastname", "Smith");
// Retrieve
document.getElementById("result").innerHTML = localStorage.getItem("lastname");
[/php]
توضیح مثال:
• ایجاد یک جفت localStorage name/value با name=”lastname” and value=”Smith”
- value متعلق به “lastname” را بازیابی کنید و آن را در عنصر با id = “result” قرار دهید
مثال فوق نیز می تواند چنین باشد:
[php]
// Store
localStorage.lastname = "Smith";
// Retrieve
document.getElementById("result").innerHTML = localStorage.lastname;
[/php]
متن حذف “lastname” localStorage به شرح زیر است:
[php]
localStorage.removeItem("lastname");
[/php]
توجه: جفت Name/value همیشه به عنوان مقدار رشته ای ذخیره می شود. به یاد داشته باشید که در صورت نیاز، آنها را به فرمت دیگری تبدیل کنید!
مثال زیر تعداد دفعاتی که یک کاربر یک دکمه را کلیک کرده است را شمارش می کند. در این کد value که رشته ای می باشد به یک عدد تبدیل می شود تا بتواند شمارنده را افزایش دهد:
[php]
if (localStorage.clickcount) {
localStorage.clickcount = Number(localStorage.clickcount) + 1;
} else {
localStorage.clickcount = 1;
}
document.getElementById("result").innerHTML = "You have clicked the button " +
localStorage.clickcount + " time(s).";
[/php]
شی sessionStorage
شی sessionStorage برابر با شیء LocalStorage است، به جز اینکه داده ها را تنها برای یک session (جلسه )ذخیره می کند. هنگامی که کاربر تب خاص مرورگر را ببندد داده ها حذف می شوند.
مثال زیر تعداد دفعاتی که کاربر یک دکمه را در جلسه فعلی کلیک کرده است را می شمارد:
[php]
if (sessionStorage.clickcount) {
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.";
[/php]
دیدگاهتان را بنویسید