آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

بهترین شیوه برای کدنویسی remember me در فرم لاگین(cookie یا localstorage)

Mato  6 سال پیش  6 سال پیش
+1 0

سلام دوستان.

لطفا در مورد شیوه کدنویسی دکمه remember me  در فرم لاگین توضیح دهید که بهتر است از localstorage استفاده کنیم یا cookie؟

با تشکر فراوان

0 0
سلام دوست عزیز : شیوه کدنویسی رو که استاد توضیح دادند شما چه مشکلی دارین؟ (6 سال پیش)
+1 0
سلام ممنون از توجهتون. خواستم ببینم مرسوم هست از localstorage استفاده کنیم یا cookie یا حتی روشی دیگر؟ (6 سال پیش)
 برای این سوال 1 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
Borhani  6 سال پیش
+1 0

 پاسخ صحیح

زمان ساخت اپلیکیشن های پیشرفته جاوا اسکریپت که بر روی مرورگر کاربر اجرا می شوند، ذخیره اطلاعات در مرورگر می تواند مفید بوده و سرعت پردازش اپلیکیشن را بالا ببرد. بنابراین اطلاعات بین صفحات مختلف یک سایت و همچنین جلسات مرور (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 از ذخیره محلی فراخوانی مجدد کرد. این مسئله را می توانید در مثال زیر ببینید:

  1. // Object example
  2.  
  3. localStorage.setItem('user', JSON.stringify({
  4. username: 'htmldog',
  5. api_key: 'abc123xyz789'
  6. }));
  7.  
  8. var user = JSON.parse(localStorage.getItem('user'));

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


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .