أحدث البرامج التعليمية وتطوير الشبكة
×

JS البرنامج التعليمي

JS الصفحة الرئيسية JS المقدمة JS ألى أين JS الناتج JS بناء الجملة JS البيانات JS تعليقات JS المتغيرات JS مشغلي JS علم الحساب JS مهمة JS أنواع البيانات JS وظائف JS الأجسام JS نطاق JS أحداث JS سلاسل JS طرق سلسلة JS أرقام JS طرق عدد JS الرياضيات JS التمور JS تاريخ تنسيقات JS تاريخ طرق JS المصفوفات JS طرق مجموعة JS القيم المنطقية JS مقارنات JS الظروف JS تحول JS حلقة غيرمنتهية For JS حلقة بينما JS استراحة JS نوع التحويل JS التعبير العادي JS أخطاء JS التصحيح JS الرفع JS الوضع الصارم JS دليل الاناقة JS أفضل الممارسات JS الأخطاء JS أداء JS الكلمات المحجوزة JS JSON

JS أشكال

أشكال التحقق من صحة API أشكال

JS موضوع

تعريفات الكائن خصائص الكائن طرق كائن نماذج الكائن

JS وظائف

تعاريف وظيفة وظيفة المعلمات وظيفة الاحتجاج الإغلاق وظيفة

JS HTML DOM

DOM مقدمة DOM أساليب DOM وثيقة DOM عناصر DOM HTML DOM CSS DOM الرسوم المتحركة DOM أحداث DOM EventListener DOM ملاحة DOM العقد DOM Nodelist

JS المتصفح BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS أمثلة

JS أمثلة JS HTML DOM JS HTML إدخال JS HTML الأجسام JS HTML أحداث JS المتصفح JS اختبار قصير JS ملخص

JS المراجع

JavaScript الأجسام HTML DOM الأجسام


 

JavaScript Cookies


Cookies تتيح لك تخزين معلومات المستخدم في صفحات الويب.


ما هي Cookies ؟

Cookies هي البيانات وتخزينها في ملفات نصية صغيرة، على جهاز الكمبيوتر الخاص بك.

عندما بعث خادم الويب صفحة الويب إلى المتصفح، يتم إيقاف اتصال أسفل، والخادم نسي كل شيء عن المستخدم.

Cookies اخترعت من أجل حل مشكلة "كيفية تذكر معلومات عن المستخدم":

  • عندما يقوم المستخدم بزيارة صفحة ويب، ويمكن تخزين اسمه في cookie .
  • في المرة القادمة المستخدم بزيارة صفحة، cookie "يتذكر" باسمه.

يتم حفظ ملفات تعريف الارتباط في أزواج اسم القيمة مثل:

username = John Doe

عندما طلب المتصفح صفحة ويب من ملقم، cookies يضاف ينتمون إلى صفحة على الطلب. بهذه الطريقة الخادم يحصل على البيانات اللازمة ل"تذكر" معلومات حول المستخدمين.


إنشاء a Cookie مع جافا سكريبت

جافا سكريبت يمكن أن تخلق، وقراءة، وحذف cookies مع document.cookie الممتلكات.

مع جافا سكريبت، a cookie يمكن إنشاء مثل هذا:

document.cookie = "username=John Doe";

يمكنك أيضا إضافة تاريخ انتهاء الصلاحية (في الوقت UTC). افتراضيا، the cookie يتم حذف عند إغلاق المتصفح:

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC";

مع معلمة مسار، يمكن أن تخبر المتصفح ما مسار the cookie ينتمي إليها. افتراضيا، the cookie ينتمي إلى الصفحة الحالية.

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";

قراءة a Cookie مع جافا سكريبت

مع جافا سكريبت، cookies يمكن قراءة مثل هذا:

var x = document.cookie;

document.cookie سيعود كل cookies في سلسلة واحدة يشبه إلى حد كبير: cookie1=value; cookie2=value; cookie3=value; cookie1=value; cookie2=value; cookie3=value;


تغيير a Cookie مع جافا سكريبت

مع جافا سكريبت، يمكنك تغيير a cookie بنفس الطريقة كما كنت إنشائه:

document.cookie = "username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";

القديم cookie هو الكتابة.


حذف a Cookie مع جافا سكريبت

حذف a cookie بسيط جدا. مجرد مجموعة تنتهي المعلمة إلى تاريخ مر:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC";

لاحظ أنه لم يكن لديك لتحديد a cookie قيمة عند حذف a cookie .


و Cookie سلسلة

و document.cookie الملكية يشبه السلسلة النصية العادية. ولكن الأمر ليس كذلك.

حتى لو أن تكتب كاملة cookie سلسلة ل document.cookie ، عند قراءته مرة أخرى، يمكنك فقط مشاهدة الزوج اسم القيمة منه.

إذا قمت بتعيين جديد cookie ، القديمة cookies لا الكتابة. الجديد cookie يضاف إلى document.cookie ، لذلك إذا كنت تقرأ document.cookie مرة أخرى سوف تحصل على شيء مثل:

cookie1 = value; cookie2 = value;

إذا كنت ترغب في العثور على قيمة محددة واحدة cookie ، يجب أن تكتب وظيفة جافا سكريبت الذي يبحث عن cookie القيمة في cookie السلسلة.


جافا سكريبت Cookie مثال

في المثال لمتابعة، سوف نقوم بإنشاء a cookie الذي يخزن اسم الزائر.

أول مرة يصل الزائر إلى صفحة الويب، وقال انه سوف يطلب منك ملء باسمه. ثم يتم تخزين اسم في a cookie .

في المرة القادمة يصل الزائر في نفس الصفحة، وقال انه سوف تحصل على رسالة ترحيب.

لالمثال فإننا سنضع 3 وظائف جافا سكريبت:

  1. وظيفة لتعيين cookie قيمة
  2. وثمة وظيفة للحصول على cookie قيمة
  3. وثمة وظيفة للتحقق من cookie قيمة

وظيفة لتعيين a Cookie

أولا، نحن إنشاء دالة الذي يقوم بتخزين اسم الزائر في a cookie متغير:

مثال

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+ d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

وأوضح سبيل المثال:

المعلمات من وظيفة هي فوق اسم cookie (cname) ، وقيمة the cookie (cvalue) ، وعدد الأيام حتى الكعكة يجب أن تنتهي (exdays).

الدالة تعيين a cookie عن طريق جمع cookiename ، the cookie قيمة، وتنتهي السلسلة.


وظيفة إلى الحصول a Cookie

ثم، فإننا نخلق دالة تقوم بإرجاع قيمة محددة cookie :

مثال

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i <ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length,c.length);
        }
    }
    return "";
}

وأوضحت وظيفة:

خذ the cookiename كمعلمة (CNAME).

إنشاء متغير (اسم) مع النص للبحث عن (CNAME + "=").

تقسيم document.cookie على المنقوطة في صفيف يسمى ca (ca = document.cookie.split(';')) .

حلقة من خلال كاليفورنيا array (i=0;i<ca.length;i++) ، وقرأ كل قيمة c=ca[i]) .

إذا the cookie تم العثور على (c.indexOf(name) == 0) ، إرجاع قيمة the cookie (c.substring(name.length,c.length) .

إذا the cookie لم يتم العثور على، والعودة "".


وظيفة لتحقق a Cookie

وأخيرا، ونحن إنشاء وظيفة أن checks إذا a cookie ومن المقرر.

إذا the cookie يتم تعيين سيعرض تحية.

إذا the cookie لم يتم تعيين، فإنه سيتم عرض مربع الفوري، ويسأل عن اسم المستخدم، ويقوم بتخزين اسم المستخدم cookie لمدة 365 يوما، عن طريق استدعاء setCookie وظيفة:

مثال

function checkCookie() {
    var username=getCookie("username");
    if (username!="") {
        alert("Welcome again " + username);
    } else {
        username = prompt("Please enter your name:", "");
        if (username != "" && username != null) {
            setCookie("username", username, 365);
        }
    }
}

كلنا معاالان

مثال

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

function checkCookie() {
    var user = getCookie("username");
    if (user != "") {
        alert("Welcome again " + user);
    } else {
        user = prompt("Please enter your name:", "");
        if (user != "" && user != null) {
            setCookie("username", user, 365);
        }
    }
}
انها محاولة لنفسك »

في المثال أعلاه يعمل على checkCookie() وظيفة عند تحميل الصفحة.