บทความล่าสุด: การใช้ JS เพื่ออ่านเขียนลบการแบ่งปันรหัสคุกกี้และคำแนะนำคำอธิบายประกอบรายละเอียดฉันพบปัญหาบางอย่างในทางปฏิบัติ:
1. คุกกี้สามารถดีบั๊กบน Firefox บนไฟล์ท้องถิ่นเช่นและ Chrome ไม่ถูกต้อง
2. คุกกี้ไม่ได้ถูกตั้งค่าให้ไม่หมดอายุ มันพิจารณาเฉพาะการตั้งค่าช่วงเวลาและหมดอายุซึ่งเห็นได้ชัดว่าไม่มีเหตุผล
เวลานี้จะได้รับรหัสการทำงานของคุกกี้ที่สมเหตุสมผลมากขึ้น:
การคัดลอกรหัสมีดังนี้:
var cookie = {
รับ: ฟังก์ชั่น (k) {
return ((ใหม่ regexp (["(?:;)?", k, "= ([^;]*); -
-
SET: FUNCTION (K, V, E, D) {
วันที่ var = วันที่ใหม่ ();
var expirseDays = e;
Date.settime (date.getTime ()+ExpiresDays*24*3600*1000);
// หากมีเวลาตั้งค่าให้ใช้คุกกี้ภายในเวลาที่กำหนดมิฉะนั้นจะไม่หมดอายุ
document.cookie = k+"="+v+"; expires ="+(e! = '' date.togmtstring (): "gmt_string")+"; path =/; domain ="+(d || '');
-
del: ฟังก์ชั่น (k) {
วันที่ var = วันที่ใหม่ ();
// กำหนดวันที่เป็นเวลาที่ผ่านมา
Date.settime (date.getTime ()-10,000);
document.cookie = k+"=; expires ="+date.togmtstring ();
-
-
ตัวอย่างแสดงให้เห็นว่า: คลิกที่ข้อความเพื่อขยายเนื้อหาและคลิกซ่อนอีกครั้ง เมื่อเนื้อหาถูกซ่อนอยู่มันจะยังคงถูกซ่อนไว้ในครั้งต่อไปที่เปิดและเมื่อมีการแสดงเนื้อหามันจะยังคงปรากฏขึ้นในครั้งต่อไปที่เปิด
การคัดลอกรหัสมีดังนี้:
<div>
<H3> หด </h3>
<div id = "tabcon">
<p> เนื้อหาที่นี่สามารถมองเห็นได้หลังจากขยาย </p>
</div>
</div>
var btn = document.getElementsByTagname ('H3') [0];
btn.addeventListener ('คลิก', function () {
var isClose = this.getAttribute ('data-isclose');
ถ้า (isClose == 'ปิด') {
แสดง();
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 = 'ไม่มี';
btn.setAttribute ('data-isclose', 'close');
btn.innerhtml = 'ขยาย';
-
var flag = cookie.get ('flag');
if (flag == 'ซ่อน') {
ซ่อน();
-