جسٹ اسکریپٹ کوکیز

کوکیں ویب پیج میں استعمال کار کا معلومات محفوظ کرنے کے لئے استعمال کی جاتی ہیں۔

کوکیں کیا ہوتا ہے؟

کوکیں آپ کی کمپیوٹر پر چھوٹی متنی فائل میں محفوظ کی گئی اعداد وشمار ہیں۔

جب ویب سرویسر ویب پیج کو بروزر کو بھیجتا ہے تو، کنکشن بند ہونے پر سرویسر استعمال کار کا سب کچھ بولداتا ہے۔

کوکیں 'کیسے استعمال کار کا معلومات ذاكر رکھیں' کی مسئلے کے حل کے لئے اختراع کی گئی تھی:

  • جب استعمال کار ویب پیج کو دیکھتا ہے تو، اس کا نام کوکیں میں محفوظ کیا جاسکتا ہے۔
  • جب استعمال کار پہلی بار اس پیج کو دیکھتا ہے تو، کوکیں اس کا نام ذاكر رکھتا ہے۔

کوکیں نام وارث کی بنیاد پر محفوظ ہوتی ہیں، مثلاً:

username = Bill Gates

جب بروزر سرویسر سے ایک ویب پیج کو مانگتا ہے تو، اس پیج کی کوکیں اس مانگ میں شامل ہوتی ہیں۔ اس طرح سرویسر کو ضروری اعداد وشمار حاصل ہوتے ہیں تاکہ اس کا استعمال کرسکے اور استعمال کار کا معلومات ذاكر رکھ سکے۔

اگر بروزر نے بروزر کو کوکیں استعمال کا حمایتی کیا نہیں تو اس مثالوں میں سارے کام نہیں کام کر سکتے ہیں۔

جی ایس اینسکریپشن کے ذریعے کوکیں بنایا جاسکتا ہے

جی ایس اینسکریپشن کا استعمال document.cookie کیوئی پرنالوغ، کوکیں بولی سکتا ہے، کوکیں مٹا جاسکتا ہے۔

جی ایس اینسکریپشن کے ذریعے، کوکیں اس طرح میں بنایا جاسکتا ہے:

document.cookie = "username=Bill Gates";

آپ کچھ اور معتبر تاریخ (UTC وقت) شامل کرسکتے ہیں۔ کچھ طور پر، مررتی ہوئی تھن، کوکیں مٹا جائیں گے:

document.cookie = "username=Bill Gates; expires=Sun, 31 Dec 2017 12:00:00 UTC";

با استفاده از path پارامتر، شما می‌توانید به مرورگر بگویید کوکی به چه مسیری تعلق دارد. به طور پیش‌فرض، کوکی به صفحه فعلی تعلق دارد.

document.cookie = "username=Bill Gates; expires=Sun, 31 Dec 2017 12:00:00 UTC; path=/";

با استفاده از JavaScript کوکی را بخوانید

با استفاده از JavaScript، می‌توانید به این صورت کوکی را بخوانید:

var x = document.cookie;

document.cookie همه کوکی‌ها در یک رشته بازمی‌گردند، مانند: cookie1=value; cookie2=value; cookie3=value;

با استفاده از JavaScript کوکی را تغییر دهید

با استفاده از JavaScript، می‌توانید مانند ایجاد کوکی آن را تغییر دهید:

document.cookie = "username=Steve Jobs; expires=Sun, 31 Dec 2017 12:00:00 UTC; path=/";

کوکی قدیمی جایگزین می‌شود.

با استفاده از JavaScript کوکی را حذف کنید

حذف کوکی بسیار ساده است.

زمانی که کوکی را حذف می‌کنید، لازم نیست مقدار کوکی را مشخص کنید:

پارامتر را مستقیماً بگیرید expires تنها تنظیم پارامتر به تاریخ گذشته کنید:

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

شما باید مسیر کوکی را تعریف کنید تا مطمئن شوید کوکی صحیح حذف می‌شود.

اگر مسیر را مشخص نکنید، برخی از مرورگرها اجازه نمی‌دهند کوکی را حذف کنید.

رشته کوکی

document.cookie به نظر می‌رسد که یک رشته متنی عادی است. اما اینطور نیست.

حتی اگر به document.cookie یک رشته کوکی کامل بنویسید، زمانی که دوباره بخوانید، فقط نام-مقدار آن را می‌بینید.

اگر کوکی تازه تنظیم شده باشد، کوکی قدیمی جایگزین نمی‌شود۔ کوکی تازه به document.cookie اضافه می‌شود، بنابراین اگر document.cookie را بخوانید، چیزی که می‌بینید این خواهد بود:

cookie1 = value; cookie2 = value;
     

如果你想找到一个指定 cookie 的值,你必须编写 JavaScript 函数来搜索 cookie 字符串中的 cookie 值。

JavaScript Cookie 实例

在下面的示例中,我们将创建一个 cookie 来存储访问者的名称。

访客第一次到达网页时,会要求他填写姓名。然后将该名称存储在 cookie 中。

下次访客到达同一页时,他将收到一条欢迎消息。

مثلاً، ہم تین جاوا اسکریپٹ فونکشن قائم کریں گے:

  1. کوکی کی قیمت کو قائم کرنے والی فونکشن
  2. کوکی کی قیمت کی فونکشن
  3. کوکی کی قیمت کی چیک کرنے والی فونکشن

کوکی کا قیام کرنے والی فونکشن

پہلے، ہم ایک فونکشن قائم کرتے ہیں جو بزنس کا نام کو کوکی متغیر میں ذخیرہ کرتا ہے:

مثال

توابعی که (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 + ";path=/";
} 

مثال توجیہ:

اس فونکشن کے پارامتروں میں: کوکی کا نام (cname)، کوکی کی قیمت (cvalue)، کوکی کی ملتوی کی گئی تاریخ کو جاننے والا (exdays) ہوتا ہے.

کوکی کا نام، کوکی کی قیمت اور کوکی کی ملتوی کی گئی تاریخ کو جمع کرکے، اس فونکشن کو کوکی کا قیام کردیگا.

کوکی کی قیمت کی فونکشن

تو، ہم ایک فونکشن قائم کرتے ہیں جو مقرر کوکی کی قیمتوں کو واپس دے:

مثال

توابعی که (function getCookie(cname) {
    برای (var name = cname + "=";
    var decodedCookie = decodeURIComponent(document.cookie);
    var ca = decodedCookie.split(';');
    برای (var i = 0; i < ca.length; i++) {
        وارب c = ca[i];
        جب تک (c. چارٹ اٹ (0) == ' ') {
            c = c. سابٹرینٹ (1);
         }
         اگر (c.indexOf(name) == 0) {
            ریٹنر c. سابٹرینٹ (نام کی لمبائی، c. لمبائی);
         }
     }
    ریٹنر "";
} 

فونکشن توجیہ:

کوکی کو پارامتر (cname) کے طور پر استعمال کرنا

ایک متغیر (name) اور تلاش کرنے والی ٹیکسٹ (CNAME”=”) کا قیام کرنا

دیکود کرنے والی کوکی سٹرنگ کو، مثلاً “$” جیساً خصوصی کارکتروں والی کوکی، ہیندر نکالنا

با استفاده از نقاط ویرگول document.cookie را به آرایه‌ای به نام ca (decodedCookie.split(';')) تقسیم کنید.

تعداد ca آرایه (i = 0; i < ca.length; i++) را بررسی کنید و هر یک از مقادیر را خواندن c = ca[i].

اگر کوکی پیدا شد (c.indexOf(name) == 0)، مقدار آن کوکی (c.substring(name.length, c.length)) بازمی‌گرداند.

اگر کوکی پیدا نشد، خالی

توابع بررسی کوکی

در نهایت، ما توابعی برای بررسی تنظیم کوکی ایجاد می‌کنیم.

اگر کوکی تنظیم شده باشد، یک سلام نمایش داده می‌شود.

اگر کوکی تنظیم نشده باشد، یک نوار هشدار نمایش داده می‌شود که از کاربر خواسته می‌شود نام خود را وارد کند و نام کاربری کوکی به مدت 365 روز ذخیره شود، از طریق فراخوانی setCookie توابع:

مثال

فونکشن چیک کووکی() {
    برای (var username = getCookie("username");
    اگر (username != "") {
        alert("Welcome again " + username);
    }
        username = prompt("Please enter your name:", "");
        اگر (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 + ";path=/";
}
توابعی که (function getCookie(cname) {
    برای (var name = cname + "=";
    برای (var ca = document.cookie.split(';');
    برای (var i = 0; i < ca.length; i++) {
        وارب c = ca[i];
        جب تک (c. چارٹ اٹ (0) == ' ') {
            c = c. سابٹرینٹ (1);
         }
        اگر (c. اینڈوکس (نام))  == 0) {
            ریٹنر c. سابٹرینٹ (نام کی لمبائی، c. لمبائی);
         }
    }
    ریٹنر "";
}
فونکشن چیک کووکی() {
    وارب user = گیت کووکی("username");
    اگر (user != "") {
        آلرٹ("کرا بھی آپ کا خیر مقدم " + user);
    }
        user = پرامپ("پریز کا نام لکھئیئ،" "");
        اگر (user != "" && user != null) {
            سیٹ کووکی("username", user, 365);
        }
    }
}

خود کا تجربہ کریئن

مثال، جو پینج لوڈ کے بعد چیک کووکی فونکشن چلائیں گا۔