ذخیره محلی چیست؟

زمان ساخت اپلیکیشن های پیشرفته جاوا اسکریپت که بر روی مرورگر کاربر اجرا می شوند، ذخیره اطلاعات در مرورگر می تواند مفید بوده و سرعت پردازش اپلیکیشن را بالا ببرد. بنابراین اطلاعات بین صفحات مختلف یک سایت و همچنین جلسات مرور (browsing sessions) به اشتراگ گذاشته می شود.

در سال های گذشته این عمل فقط از طرق کوکی ها (cookies) امکانپذیر بود، فایل های متنی که در کامپیوتر کاربران ذخیره می شد، اما این راه ذخیره و مدیریت اطلاعات برای جاوا اسکریپت خوب نبود. امروزه فناوری جدیدی به نام انباره محلی (local storage) یا ذخیره محلی معرفی شده است که همان کار کوکی را انجام می دهد، اما دارای واسط کاربری و استفاده آسانتری است.

برخلاف کوکی ها، ذخیره محلی فقط از سمت کلاینت قابل خواند است، بدین معنی که تنها مرورگر و جاوا اسکریپت می توانند محتوای ذخیره محلی را بخوانند. اگر بخواهید مقداری داده را با سرور به اشتراک بگذارید، هنوز کوکی ها گزینه بهتری هستند.

برای ذخیره داده ها در مرورگر کاربر از دستور localStorage.setItem استفاده می شود:

localStorage.setItem('name', 'tom');

آرگومان اول آن برای تعیین شناسه ای است که بعدا برای دسترسی به همان داده ها استفاده می شود. دومین آرگومان داده هایی است که می خواهیم ذخیره کنیم.

برگشتن به داده های ذخیره شده و استفاده از آنها خیلی ساده است. فقط کافی است که شناسه را به دستور localStorage.getItem اضافه کنیم:

var name = localStorage.getItem('name');

در انباره محلی فقط می توان انواع داده رشته ای (string) را ذخیره کرد، بنابراین برای ذخیره کردن اشیا لازم است که آنها را با استفاده از JSON.stringify به رشته تبدیل کنیم. نمی توان مستقیما از انباره محلی درخواست ذخیره شی کرد زیرا آن را به صورت [object Object] ذخیره می کند، که اصلا بدرد نمی خورد و قابل استفاده مجدد نیست.

این همچنین بدین معنی است که شی را بایستی با استفاده از JSON.parse از ذخیره محلی فراخوانی مجدد کرد. این مسئله را می توانید در مثال زیر ببینید:

// Object example

localStorage.setItem('user', JSON.stringify({
    username: 'htmldog',
    api_key: 'abc123xyz789'
}));

var user = JSON.parse(localStorage.getItem('user'));

همه مرورگرها از انباره محلی (local storage) پشتیبانی نمی کنند، اما بیشتر آنها و بخصوص مرورگرهای مدرن یعنی اینترنت اکسپلورر 8 و بالاتر و کروم و فایرفاکس و میکروسافت ادج از این امکان پشتیبانی می کنند.

اگر با هنوز با جاوا اسکریپت آشنایی ندارید، می توانید آموزش جاوا اسکریپت پلکسا را مطالعه کنید.

اگر در اجرای این راهنما به مشکل برخورد کردید و سایر سئوالات و پیشنهادات خود را در بخش سئوالات عمومی انجمن پلکسا مطرح نمایید. گروه توسعه وب پلکسا به سئوالات شما پاسخ خواهند داد.

عضویت در خبرنامه پلکسا

در صورت تمایل ایمیل خود را وارد کنید و تازه های پلکسا را از طریق ایمیل دریافت کنید. خبرنامه الکسا هفته نامه بوده و حاوی جدیدترین مطالب و نشریات پلکسا است.

با ما شریک شوید

با ما باشید

قابل توجه وبمسترها

وبمستر گرامی

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

سئوالات، نظرات، پیشنهادات و مطالب خود را با ما و کاربران پلکسا در میان بگذارید - انجمن پلکسا