تعيين ملف تعريف الارتباط
كل ملف تعريف الارتباط هو زوج/قيمة.
document.cookie = "userId = 828" ؛
إذا كنت ترغب في تخزين أزواج اسم/قيمة متعددة في وقت واحد ، فيمكنك استخدام الحاجز بالإضافة إلى المساحة (؛) لفصل ، على سبيل المثال:
document.cookie = "userId = 828 ؛ username = hulk" ؛
لا يمكنك استخدام رقم قطاع (؛) ، فاصلة (،) ، مكافئ (=) ومساحة في اسم أو قيمة ملفات تعريف الارتباط. من السهل القيام بذلك باسم ملفات تعريف الارتباط ، لكن القيمة المراد الحفاظ عليها غير مؤكدة. كيفية تخزين هذه القيم؟ القيمة ، ويمكن تخزينها في قيمة ملفات تعريف الارتباط ، ويمكن تخزينها أيضًا في قيمة ملفات تعريف الارتباط ، ويمكن تخزينها أيضًا في قيمة ملفات تعريف الارتباط ، ويمكن تخزينها أيضًا في قيمة ملفات تعريف الارتباط ، ويمكن تخزينها في قيمة ملفات تعريف الارتباط ، ويمكن أيضًا تخزينها في قيمة ملفات تعريف الارتباط ، ويمكن تخزينها أيضًا في قيمة ملفات تعريف الارتباط ، ويمكن تخزينها في قيمة ملفات تعريف الارتباط ، ويمكن تخزينها في قيمة ملفات تعريف الارتباط ، ويمكن تخزينها يتم تخزينها في قيمة ملفات تعريف الارتباط ، ويمكن تخزينها في قيمة ملفات تعريف الارتباط ، ويمكن تخزينها. على سبيل المثال:
document.cookie = "str ="+Escape ("I Love Ajax") ؛
أي ما يعادل:
document.cookie = "str = i ٪ 20love ٪ 20ajax" ؛
بعد استخدام الترميز Escape () ، تحتاج إلى استخدام Unescape () لفك التشفير بعد أخذ القيمة للحصول على قيمة ملفات تعريف الارتباط الأصلية ، والتي تم تقديمها مسبقًا.
على الرغم من أن document.cookie يبدو وكأنه سمة ، إلا أنه يمكن أن يعطي قيمًا مختلفة. ولكن ليس هو نفس السمة العامة.
document.cookie = "userId = 828" ؛
document.cookie = "username = hulk" ؛
في هذا الوقت ، سيحافظ المتصفح على ملفات تعريف الارتباط ، وهما userid واسم مستخدم ، لذلك يقومون بتعيين قيمة للوثيقة.
document.addcookie ("userId = 828") ؛
document.addcookie ("username = hulk") ؛
في الواقع ، يضع المتصفح ملفات تعريف الارتباط بهذه الطريقة.
document.cookie = "userId = 929" ؛
وبهذه الطريقة ، قم بتعيين ملفات تعريف الارتباط المسمى UserD إلى 929.
احصل على قيمة ملفات تعريف الارتباط
فيما يلي كيفية الحصول على قيمة ملفات تعريف الارتباط. يمكن الحصول على قيمة ملف تعريف الارتباط مباشرة بواسطة المستند. cookie:
var strocookie = document.cookie ؛
سيحصل هذا على اسم/قيم متعددة مفصولة برقم شريحة. على سبيل المثال:
<script language = "javaScript" type = "text/javaScript">
<!-
document.cookie = "userId = 828" ؛
document.cookie = "username = hulk" ؛
var strocookie = document.cookie ؛
تنبيه (ستروكوكي) ؛
//->
</script>
الشكل 7.1 عرض قيمة ملفات تعريف الارتباط الإخراج. يمكن ملاحظة أنه يمكن الحصول على قيمة ملف تعريف الارتباط واحدة فقط في وقت واحد ، ولا يمكن تحديد اسم ملف تعريف الارتباط للحصول على القيمة المحددة. يجب على المستخدمين تحليل هذه السلسلة بأنفسهم للحصول على قيمة ملفات تعريف الارتباط المحددة.
<script language = "javaScript" type = "text/javaScript">
<!-
// تعيين اثنين من ملفات تعريف الارتباط
document.cookie = "userId = 828" ؛
document.cookie = "username = hulk" ؛
// احصل على سلسلة ملفات تعريف الارتباط
var strocookie = document.cookie ؛
// يتم قطع ملفات تعريف الارتباط المتعددة إلى أسماء/قيم متعددة
var arrcookie = strocookie.split ("؛") ؛
var userId ؛
// اجتياز مجموعة ملفات تعريف الارتباط ، ومعالجة كل زوج ملف تعريف الارتباط
لـ (var i = 0 ؛ i <arrcookie.length ؛ i ++) {
var arr = arrcookie [i] .split ("=") ؛
// ابحث
if ("userId" == arr [0]) {
userId = arr [1] ؛
استراحة؛
}
}
تنبيه (userId) ؛
//->
</script>
هذا يحصل على قيمة ملف تعريف الارتباط واحد
بطريقة مماثلة ، يمكنك الحصول على قيمة واحدة أو أكثر من ملفات تعريف الارتباط ، ولا تزال تقنياتها الرئيسية ذات صلة بعمليات السلسلة والمصفوفة.
حدد تاريخ الإنهاء لملفات تعريف الارتباط
حتى الآن ، فإن جميع ملفات تعريف الارتباط واحدة من ملفات تعريف الارتباط ، أي أن ملفات تعريف الارتباط هذه ستُفقد بعد إغلاق المتصفح.
في التطوير الفعلي ، غالبًا ما يجب تخزين ملف تعريف الارتباط لفترة طويلة ، مثل الحفاظ على حالة تسجيل الدخول إلى المستخدم. يمكن تنفيذ ذلك مع الخيارات التالية:
document.cookie = "userId = 828 ؛ Expires = gmt_string" ؛
من بينها ، GMT_STRING هي سلسلة زمنية ممثلة بتنسيق GMT. على سبيل المثال: إذا كنت ترغب في ضبط ملفات تعريف الارتباط على انتهاء صلاحيتها بعد 10 أيام ، فيمكنك تنفيذها مثل هذا:
نسخ رمز رمز على النحو التالي:
<script language = "javaScript" type = "text/javaScript">
<!-
// احصل على الوقت الحالي
var date = new date () ؛
var Expistays = 10 ؛
// اضبط التاريخ على 10 أيام بعد 10 أيام
Date.Settime (Date.getTime ()+Expiredays*24*3600*1000) ؛
// قم بتعيين ملفات تعريف الارتباط الخاصة بـ UserId واسم المستخدم حتى تنتهي صلاحيتها بعد 10 أيام
document.cookie = "userId = 828 ؛ username = hulk ؛ expire ="+date.togmtring () ؛
//->
</script>
حذف ملف تعريف الارتباط
من أجل حذف ملف تعريف الارتباط ، يمكنه ضبط وقت انتهاء الصلاحية على وقت الماضي ، مثل ::
نسخ رمز رمز على النحو التالي:
<script language = "javaScript" type = "text/javaScript">
<!-
// احصل على الوقت الحالي
var date = new date () ؛
// اضبط التاريخ على أنه الوقت الماضي
Date.Settime (Date.getTime () -10000) ؛
// حذف معرف المستخدم هذا ملف تعريف الارتباط
document.cookie = "userId = 828 ؛ expire ="+date.togmtring () ؛
//->
</script>
حدد المسار الذي يمكنه الوصول إلى ملفات تعريف الارتباط
افتراضيًا ، إذا تم إنشاء ملف تعريف ارتباط على صفحة ، فإن صفحات أخرى في الدليل حيث يمكن للصفحة أيضًا الوصول إلى ملف تعريف الارتباط. إذا كان هناك دليل فرعي في هذا الدليل ، فيمكنك أيضًا الوصول إليه في الدليل الفرعي. على سبيل المثال ، لا يمكن الوصول إلى ملفات تعريف الارتباط التي تم إنشاؤها في www.xxxx.com/html/b.html أو www.xxx.com/ html/some/c.html بواسطة www.xxxx.com/d.html.
من أجل التحكم في الكتالوج الذي يمكن الوصول إليه بواسطة ملفات تعريف الارتباط ، تحتاج إلى استخدام معلمة المسار لتعيين ملفات تعريف الارتباط.
document.cookie = "name = value ؛ path = cookiedir" ؛
يمثل Cookiedir كتالوج الوصول إلى ملف تعريف الارتباط. على سبيل المثال:
document.cookie = "userId = 320 ؛ path =/shop" ؛
وهذا يعني أنه لا يمكن استخدام ملفات تعريف الارتباط الحالية إلا في الدليل القصير.
إذا كنت ترغب في جعل ملف تعريف الارتباط يستخدمه ضمن موقع الويب بأكمله ، فيمكنك تحديد ملف تعريف الارتباط كدليل جذر ، مثل:
document.cookie = "userId = 320 ؛ path =/" ؛
حدد اسم المضيف الذي يمكنه الوصول إلى ملف تعريف الارتباط
على غرار المسار ، يشير اسم المضيف إلى مضيفي مختلف في نفس المجال ، مثل: www.google.com و gmail.google.com هما اسمين مضيفان مختلفين. بشكل افتراضي ، لا يمكن الوصول إلى ملفات تعريف الارتباط التي تم إنشاؤها في المضيف تحت مضيف آخر ، ولكن يمكن التحكم فيها بواسطة معلمة المجال للتحكم فيها.
document.cookie = "name = value ؛ domain = cookomain" ؛
خذ جوجل كمثال.
document.cookie = "name = value ؛ domain = .google.com" ؛
وبهذه الطريقة ، يمكن للمضيف تحت كل Google.com الوصول إلى ملف تعريف الارتباط.
مثال شامل: بناء وظيفة معالجة ملفات تعريف الارتباط المشتركة
عملية معالجة ملفات تعريف الارتباط أكثر تعقيدًا ولها بعض أوجه التشابه. لذلك ، يمكن تعريف العديد من الوظائف لإكمال التشغيل العام لملف تعريف الارتباط ، وذلك لتحقيق إعادة استخدام التعليمات البرمجية. يتم سرد عمليات ملفات تعريف الارتباط شائعة الاستخدام وتنفيذ الوظائف أدناه.
1. إضافة ملف تعريف الارتباط: addcookie (الاسم ، القيمة ، انتهاء الصلاحية)
تتلقى هذه الوظيفة 3 معلمات: اسم ملفات تعريف الارتباط ، وقيمة ملفات تعريف الارتباط ، وكيف تنتهي صلاحيتها لاحقًا. لا يتم تعيين وقت انتهاء الصلاحية عندما يكون انتهاء الصلاحية 0 ، أي أن ملفات تعريف الارتباط تختفي تلقائيًا عند إغلاق المتصفح. يتم تنفيذ هذه الوظيفة على النحو التالي:
نسخ رمز رمز على النحو التالي:
<script language = "javaScript" type = "text/javaScript">
<!-
وظيفة AddCoOkie (الاسم ، القيمة ، انتهاء الصلاحية) {
var cookring = name+"="+Escape (value) ؛
// تحديد ما إذا كان يتم تعيين وقت انتهاء الصلاحية
if (expirehouse> 0) {{
var date = new date () ؛
Date.Settime (Date.getTime+Expirehouse*3600*1000) ؛
cookring = cookiestring+"؛ expire ="+date.togmtring () ؛
}
document.cookie = cookiestring ؛
}
//->
</script>
2. احصل على قيمة ملف تعريف الارتباط للاسم المحدد: GetCookie (الاسم)
تقوم هذه الوظيفة بإرجاع قيمة ملف تعريف الارتباط المسماة.
نسخ رمز رمز على النحو التالي:
<script language = "javaScript" type = "text/javaScript">
<!-
وظيفة getCookie (الاسم) {
var strocookie = document.cookie ؛
var arrcookie = strocookie.split ("؛") ؛
لـ (var i = 0 ؛ i <arrcookie.length ؛ i ++) {
var arr = arrcookie [i] .split ("=") ؛
if (arr [0] == name) return arr [1] ؛
}
يعود "" "؛
}
//->
</script>
3. حذف ملف تعريف الارتباط مع الاسم المحدد: DeLetecookie (اسم)
يمكن لهذه الوظيفة حذف ملف تعريف الارتباط للاسم المحدد ، وتنفيذها كما يلي:
نسخ رمز رمز على النحو التالي:
<script language = "javaScript" type = "text/javaScript">
<!-
وظيفة getCookie (الاسم) {
var strocookie = document.cookie ؛
var arrcookie = strocookie.split ("؛") ؛
لـ (var i = 0 ؛ i <arrcookie.length ؛ i ++) {
var arr = arrcookie [i] .split ("=") ؛
if (arr [0] == name) return arr [1] ؛
}
يعود "" "؛
}
//->
</script>
يمكنك أيضًا استخدام آخر عبر الإنترنت:
نسخ رمز رمز على النحو التالي:
<script language = "javaScript" type = "text/javaScript">
وظيفة setCoOkie (الاسم ، القيمة) // معلمتان ، إحداها هي اسم ملف تعريف الارتباط ، والآخر هو القيمة
{{
var days = 30 ؛
var exp = date () ؛
exp.Settime (exp.getTime () + Days*24*60*60*1000) ؛
document.cookie = name + "=" + Escape (value) + "؛ Expires =" + exp.togmtring () ؛
}
وظيفة getCookie (الاسم) // خذ وظيفة ملفات تعريف الارتباط
{{
var anrr = document.cookie.match (new regexp ("(" ("(^|)"+name+"= ([^؛]*) (؛ | $)")))) ؛
إذا (arr! = null) unescape (arr [2]) ؛
}
وظيفة delcookie (الاسم) // حذف ملفات تعريف الارتباط
{{
var exp = new date () ؛
exp.SetTime (exp.getTime () - 1) ؛
var cval = getCookie (name) ؛
if (cval! = null) document.cookie = name+"="+cval+"؛ expires ="+exp.togmtstring () ؛
}
setcookie ("Xiaoqi" ، "3")
ALERT (getCoookie ('xiaoqi') ؛
</script>