دوشنبه, ۲۴ اردیبهشت, ۱۴۰۳ / 13 May, 2024
Cookies
در مباحث وب, Cookie شامل یکسری اطلاعات بوده که Server, مربوطه برای اولین بار با browser کاربر ارتباط برقرار کرده و سپس برای هربار اتصال مجدد, اطلاعات آن استفاده میکند. این اطلاعات به اصطلاح Cookie هم در Server و هم در browser به صورت فایل Plain text ذخیره میشوند.
بعنوان مسئول سایت IranJavaScript بر این عقیده هستم که میتوان کارهای مفیدی را با Cookie ها انجام داد. مثلا در صورتیکه سایت نیازمند, ثبت نام اشخاص باشد, میتوان از Cookie ها در نگهداری name user و Password بر روی درایوهایشان استفاده نمود تا از وارد کردن مجدد آنها در هربار اتصال خودداری شود. همچنین بدین صورت میتوان, تعداد دفعات استفاده از سایتها را در Cookie ها ذخیره نمود.
● اما مشخصات خاص Cookieها:
۱) از آنها نمیتوان برای بررسی محتویات هارد کاربر استفاده نمود.
۲) توسط Cookieها ویروسها, انتقال نمی یابند. بطور خلاصه, یک Cookie تنها یک فایل ساده متنی بر روی هارد دیسک کاربر بوده که برنامه نویس JavaScript بعضی از اطلاعات را در آن نگهداری میسازد.
در Cookie همچنین آدرس مربوط به Server نیز نگهداری میشود. بطور کلی میتوان اساس پیدایش آن را "Identification" نامید. بخاطر داشته باشید که بدین صورت تنها کامپیوتر متصل شده, تعیین هویت میگردد, یعنی مشخصات کاربرها و یا سایتهای مورد استفاده, مشخص نخواهد شد.
● به منظور نمایش Cookieها
if(document.cookie == "") {
document.write("There are no cookies here")
۱) در صورتیکه محتوی Cookieها خالی باشد, پیغام "There are no cookies here" نشان داده میشود. else {thisCookie = document.cookie.split("; ")
۲) ولی در صورتیکه محتوای آن خالی نباشد, مقدار تمامی Cookieهای موجود توسط document.cookie.split("; ")s گرفته شده و در متغییری بنام thisCookie قرار داده میشود. به یاد داشته باشید که توسط دستورsplit("; ")s آرایه ای از تمام Cookieها بوجود آمده تا درنهایت بتوان به مقدار هر Cookie ارجاعی داده شود. for (i=۰; i<thisCookie.length; i++) {
۳) در حلقه فوق, که شمارنده آن از صفر شروع میشود, در صورتیکه i کمتر از تعداد Cookieها در آرایه thisCookie باشد به مقدار i, یک واحد می افزاید. document.write("Cookie name is"+thisCookie[i].split("=")[۰])
document.write(",and the value is"+thisCookie[i].split("=")[۱]+"<br>")
۴) و درصورت وجود Cookie در پنجره browser ابتدا عبارت "Cookie name is" و بعد نام Cookie و به دنبال آن, عبارت and the value is به همراه مقدار Cookie نوشته میگردد.
● برای خواندن Cookie
if(document.cookie !="") {
۱) درصورت خالی نبودن محتویات Cookie به مرحله بعد میرود.
document.write("Hello, "+ document.cookie.split("=")[۱])
۲) در صورتی که Cookie خالی نباشد, رشته حرفی "Hello" به همراه مقدار موجود در Cookie در صورت نمایش, ظاهر میگردد.
ـ نکته
در صورتی که دقت کرده باشید, به این نکته پی خواهید برد که Cookie خاصی انتخاب نشده است! زیرا هر Cookie تنها توسط Server, مخصوص که برای اولین بار درون آن نوشته شده, خوانده میشود. یعنی فقط میتوانید به Cookie های مربوط به خود دسترسی پیدا نمایید.
● برای ایجاد Cookie
expireDate = new Date
۱) ابتدا تاریخ فعلی گرفته شده و در متغییر expireDate نهاده میشود.
expireDate.setMonth(expireDate.getMonth()+۶)
۲) بدین صورت مقدار تاریخ اعتبار Cookie مورد نظر, ۶ ماه تعیین میگردد.
userName = ""
۳) سپس متغییر userName با مقدار خالی تعریف میگردد.userName = document.cookie.split("=")[۱]
۴) ابتدا خالی نبودن محتوی Cookie بررسی میشود. سپس توسط متد ("=")split, هر record مربوط به Cookie به فیلدهای مختلف تقسیم میشود بطوریکه مثلاCookieField[۰]s نام وCookieField[۱]s مقدار Cookie میباشد. function setCookie() { userName = document.myForm.nameField.value
۵) در این مرحله یک تابع جدید با نامsetCookie()s ایجاد شده, سپس در خط بعد مقدار UserName توسط اطلاعات وارد شده کاربر درون فیلد فرم, مجددا نوشته میشود.
document.cookie = "username=" + username + ";expires=" + expireDate.toGMTString()
۶) همانطور که در مطالب قبل ذکر شد, Cookie ها شامل رشته های حرفی ساده میباشد, در نتیجه توسط document.cookie, نام کاربر و تاریخ انقضاء نوشته شده زیرا توسط متد toGMTString, تاریخ expireDate به رشته حرفی تبدیل شده, که نتیجتا میتوان آن را درون Cookie قرار داد.
onLoad="document.myForm.nameField.value=userName"
۷) دستور onLoad در تگ body, نام کاربر را در صورت وجود در فایل Cookie درون فیلد name مینویسد.
<input readonly type="text" name="nameField" onBlur="setCookie()" size="۴۰">
۸) نهایتا هنگام رهایی کاربر از فیلد متن, توسط کنترل کننده onBlur, تابع setCookie فرا خوانده میشود.
ـ نکته
در این اسکریپت فرض میشود User name در Cookie وجود داشته است. در مباحث بعدی, نحوه کنترل چندین Cookie نیز توضیح داده میشود.
نمایندگی زیمنس ایران فروش PLC S71200/300/400/1500 | درایو …
دریافت خدمات پرستاری در منزل
پیچ و مهره پارس سهند
تعمیر جک پارکینگ
خرید بلیط هواپیما
ایران رهبر انقلاب شورای نگهبان مجلس صادق زیباکلام مجلس شورای اسلامی انتخابات انتخابات مجلس مجلس دوازدهم انتخابات مجلس دوازدهم دولت دولت سیزدهم
هواشناسی شهرداری تهران بارش باران قتل تهران حج تمتع سیل زلزله سلامت سازمان هواشناسی پلیس وزارت بهداشت
قیمت دلار خودرو قیمت طلا قیمت خودرو سایپا بازار خودرو حقوق بازنشستگان مسکن گاز نمایشگاه نفت بانک مرکزی ایران خودرو
نمایشگاه کتاب نمایشگاه کتاب تهران کتاب تئاتر سالار عقیلی تلویزیون سینمای ایران رضا عطاران دفاع مقدس نمایشگاه بینالمللی کتاب تهران سینما نمایشگاه
دانش بنیان کره زمین
اسرائیل رژیم صهیونیستی فلسطین غزه جنگ غزه حماس روسیه آمریکا افغانستان سازمان ملل نوار غزه اوکراین
فوتبال استقلال مهدی طارمی پرسپولیس لیگ برتر فولاد خوزستان رئال مادرید هوادار لیگ برتر فوتبال ایران لیگ برتر ایران باشگاه پرسپولیس بازی
هوش مصنوعی شفق قطبی نوآوری ایلان ماسک تبلیغات ناسا اپل طوفان خورشیدی گوگل
سازمان غذا و دارو کودک شیر رژیم غذایی پسماند خواب فشار خون واکسیناسیون تجهیزات پزشکی درمان ناباروری بارداری