کار با کوکی ها یا Cookies در جاوا اسکریپت

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

کار با کوکی ها یا Cookies در جاوا اسکریپت

Free-Learn

کوکی ها یا Cookies در جاوا اسکریپت

اولین سوالی که اینجا پیش میاد اینه که کوکی یا Cookie چیست؟ اصلا یعنی چی؟ و به چه درد میخوره؟ چرا باید از کوکی ها استفاده کنیم؟؟

کوکی یا Cookie : خب در لغت یه معنیش یعنی شیرینی ولی خب حالا این ربطی نداره و یه معنی دیگش یعنی نگهداری اطلاعات ( داده های کوچک ) از جمله مشخصات کاربر ( نام ، ایمیل و.. ) در درون حافظه مرورگر خوده کاربر.

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

یعنی اگه شما مثلا رفتید تو فلان سایت و بفرض مثال خواستید نظری یا دیدگاهی ارسال کنید، اونجا اون سایت نام و ایمیل شمارو درون کوکی میزاره و ذخیرش میکنه و در سری های بعدی نام و ایمیل شمارو از همون حافظه کوکی میگیره و نمایش میده ( یعنی دیگه نیاز نیست شما دوباره نام و ایمیل تون رو وارد کنید ) تموم شد رفت، به این میگن کوکی.

نگهداری داده های بزرگ و درکل نگهداری مطمعن داده ها ( برای همیشه ) فقط از طریق پایگاه داده ها ( مثه Mysql ) امکان پذیره، و نباید از کوکی ها برای اینکار استفاده کرد، چون کوکی ها معمولا برای نگهداری داده های کوچک و بصورت موقت استفاده میشه.

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

Free-Learn

نحوه ایجاد کوکی در جاوا اسکریپت

برای تعریف یا ایجاد کوکی در زبان جاوا اسکریپت باید از ویژگی document.cookie استفاده کرد.

شکل کلی استفاده از این ویژگی بصورت زیر می باشد :

  • Cookie_Name : نام کوکی
  • Cookie_Value : مقدار کوکی

مثال شماره ۱ : ست کردن کوکی با نام MySite و مقدار Free-Learn

امتحان کنید

Free-Learn

نحوه فراخوانی کردن کوکی از حافظه

خب ما در مثال قبلی داده مون رو در درون کوکی ( یا در واقع در درون حافظه مرورگر ) قرار دادیم ( یا ست کردیم ) حالا میخوایم همون داده هارو از حافظه فراخوانی کنیم.

شکل کلی برای فراخوانی کوکی از حافظه بصورت زیر می باشد :

مثال شماره ۱ : فراخوانی داده های موجود در کوکی ( که در مثال قبلی ستش کردیم )

امتحان کنید

Free-Learn

صفت های قابل استفاده در کوکی ها

چنتا صفت وجود داره که میتونیم درون کوکی ها استفاده نماییم، مثلا اینکه طول عمر کوکی چقدر باشه یا مثلا میتونیم مشخص کنیم که کوکی ها در چه صفحاتی از وبسایت فعال باشند ( دامنه دسترسی ).

نام صفت توضیح
expires برای مشخص کردن طول عمر کوکی ( با استفاده از تاریخ و ساعت انقضاء )
max-age برای مشخص کردن طول عمر کوکی ( با استفاده از زمان بصورت ثانیه )
path دامنه دسترسی به کوکی رو در صفحات سایت مشخص میکنه

Free-Learn

صفت expires در کوکی ها

در ادامه ی آموزش کار با کوکی ها یا Cookies در جاوا اسکریپت میخوایم با صفت expires آشنا بشیم و ببینیم این صفت چه کاری میتونه برای ما انجام بده.

با استفاده از صفت expires میتونیم طول عمر کوکی رو مشخص کنیم، مثلا میگیم این کوکی تا فلان تاریخ و ساعت اعتبار داشته باشه و فعال باشه و دیگه بعد از اون تاریخ خودش بطور خودکار از بین میره.

مثال : در مثال زیر با کلیک بروی یه دکمه، کوکی تا سال ۲۰۲۵ سِت و فعال میشه و عملا تا ۲۰۲۵ در دسترس می باشد.

امتحان کنید

Free-Learn

صفت max-age در کوکی ها

این صفت هم در عمل شبیه همون expires می باشد فقط با این تفاوت که طول عمر کوکی رو با استفاده از زمان ( بصورت ثانیه ) مشخص میکنه.

مثال : در مثال زیر عمر کوکی ۱۰ ثانیه می باشد.

امتحان کنید

Free-Learn

صفت path در کوکی ها

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

مثال : دامنه ی دسترسی به کوکی در تمامی صفحات سایت فعال می باشد

امتحان کنید

توضیح مثال بالا :

با استفاده از صفت path مشخص کردیم که کوکی تا چه حد ( وسعت / دامنه دسترسی ) فعال و در دسترس باشه، میتونیم یه آدرس مشخص بهش بدیم مثه :

path=https://test.com/test

ولی در مثال بالا از / ( اسلش ) استفاده شده، ( /=path ) این یعنی کوکی در تمامی صفحاتی که با آدرس دامنه سایت شروع میشن در دسترس و فعال باشه.

Free-Learn

نحوه حذف کردن کوکی ها

خب ما در مثال های قبلی بارها کوکی هارو سِت ( ایجاد یا تعریف ) میکردیم ، حال شاید بخوایم کوکی هارو خودمون بصورت دستی از بین ببریم یا حذف کنیم.

در حالت عادی خب وقتی عمر یه کوکی تموم شه ( مثه اینه که میمیره ) و خودش از بین میره ولی خب ما میتونیم خودمون بصورت دستی کوکی هارو هم حذف کنیم.

خب چندین روش وجود داره برای حذف کوکی ها :

  • استفاده از تاریخ گذشته در صفت expires
  • استفاده از مقدار ۰ در صفت max-age
  • پاک کردن کوکی ها در درون خوده مرورگر

مثال شماره ۱ : استفاده از تاریخ گذشته ( هر تاریخی که قبل از تاریخ طول عمر کوکی باشه )

امتحان کنید

مثال شماره ۲ : استفاده از مقدار ۰ در صفت max-age

امتحان کنید

  • پاک کردن کوکی ها در مرورگر موزیلا فایرفاکس و گوگل کروم

در هر ۲مرورگر با استفاده از کلیدهای ترکیبی Ctrl + Shift + Del میتونید به پنجره حذف کوکی دسترسی پیدا نمایید.

Free-Learn

مثال های بیشتر

مثال شماره ۱ : تغییر رنگ زمینه صفحه توسط کاربر و ذخیره در کوکی ( در دفعات بعدی رنگ زمینه همونی خواهد بود که کاربر انتخاب کرده )

امتحان کنید

Free-Learn

فروشگاه فری لرن
دریافت PDF یا پرینت این مطلب