المقالة الأخيرة: باستخدام JS للقراءة والكتابة وحذف رمز ملفات تعريف الارتباط وإرشادات التعليق التوضيحي التفصيلي ، وجدت بعض المشكلات في الممارسة:
1. لا يمكن تصحيح ملفات تعريف الارتباط إلا على Firefox على الملفات المحلية ، IE والكروم غير صالحين
2. لم يتم تعيين ملف تعريف الارتباط على الإطلاق. إنه ينظر فقط في تحديد فترة زمنية وتنتهي ، وهو أمر غير معقول من الواضح.
هذه المرة ، يتم إعطاء رمز تشغيل ملفات تعريف الارتباط أكثر منطقية:
نسخة الكود كما يلي:
var cookie = {
الحصول على: وظيفة (ك) {
return ((regexp جديد (["(" (؟: ؛)؟ "، k ،" = ([^؛]*) ؛؟ "]. "" ؛
} ،
Set: Function (K ، V ، E ، D) {
var date = new date () ؛
var ExpiresDays = e ؛
Date.Settime (Date.getTime ()+ExpiresDays*24*3600*1000) ؛
// إذا كان هناك وقت محدد ، فاستخدم ملفات تعريف الارتباط خلال الوقت المحدد ، وإلا فلن تنتهي صلاحيتها أبدًا
document.cookie = k+"="+v+"؛ expires ="+(e! = ''؟ date.togmtstring (): "gmt_string")+"؛ path =/؛ domain ="+(d || '') ؛
} ،
del: function (k) {
var date = new date () ؛
// ضبط التاريخ على الوقت الماضي
Date.Settime (Date.getTime ()-10000) ؛
document.cookie = k+"= ؛ expires ="+date.togMtString () ؛
}
} ؛
يوضح المثال: انقر فوق النص لتوسيع المحتوى ، وانقر فوق إخفاء مرة أخرى. عندما يتم إخفاء المحتوى ، سيظل مخفيًا في المرة القادمة التي يتم فيها فتحه ، وعندما يتم عرض المحتوى ، سيظل يتم عرضه في المرة القادمة.
نسخة الكود كما يلي:
<viv>
<h3> تقلص </h3>
<div id = "tabcon">
<p> يمكن رؤية المحتوى هنا بعد التوسع </p>
</div>
</div>
var btn = document.getElementsByTagName ('H3') [0] ؛
btn.addeventListener ('click' ، function () {
var isClose = this.getAttribute ('data-iSclose') ؛
if (isClose == 'Close') {
يعرض()؛
cookie.del ('flag') ؛
}آخر{
يخفي()؛
cookie.set ('flag' ، 'Hide') ؛
}
}) ؛
var tabcon = document.getElementById ('tabCon') ؛
وظيفة العرض () {
tabcon.style.display = 'block' ؛
btn.setattribute ('data-iSclose' ، 'Open') ؛
btn.innerhtml = 'تقلص' ؛
}
وظيفة إخفاء () {
tabcon.style.display = 'none' ؛
btn.setattribute ('data-iSclose' ، 'Close') ؛
btn.innerhtml = 'sext' ؛
}
var flag = cookie.get ('flag') ؛
if (flag == 'Hide') {
يخفي()؛
}