คุกกี้คืออะไร
"คุกกี้เป็นตัวแปรที่เก็บไว้ในคอมพิวเตอร์ของผู้เข้าชมคุกกี้นี้จะถูกส่งเมื่อใดก็ตามที่คอมพิวเตอร์ใบเดียวกันร้องขอหน้าเว็บผ่านเบราว์เซอร์คุณสามารถใช้ JavaScript เพื่อสร้างและดึงค่าคุกกี้" - W3School
คุกกี้เป็นไฟล์ที่สร้างขึ้นโดยเว็บไซต์ที่เข้าชมและใช้เพื่อจัดเก็บข้อมูลการท่องเว็บเช่นข้อมูลโปรไฟล์
จากมุมมองของ JavaScript คุกกี้เป็นข้อมูลสตริง ข้อมูลนี้ถูกเก็บไว้ในคอมพิวเตอร์ของไคลเอนต์และใช้เพื่อส่งข้อมูลระหว่างคอมพิวเตอร์ไคลเอนต์และเซิร์ฟเวอร์
ข้อมูลนี้สามารถอ่านหรือตั้งค่าผ่าน document.cookie ใน JavaScript เนื่องจากคุกกี้ส่วนใหญ่จะใช้ในการสื่อสารระหว่างไคลเอนต์และเซิร์ฟเวอร์นอกเหนือจาก JavaScript ภาษาเซิร์ฟเวอร์ (เช่น PHP) ยังสามารถเข้าถึงคุกกี้ได้
พื้นฐานคุกกี้
คุกกี้มีขีด จำกัด ขนาด ข้อมูลที่เก็บไว้ในคุกกี้แต่ละตัวต้องไม่เกิน 4KB หากความยาวของสตริงคุกกี้เกิน 4KB คุณสมบัตินี้จะส่งคืนสตริงเปล่า
เนื่องจากคุกกี้จะถูกเก็บไว้ในคอมพิวเตอร์ไคลเอนต์ในรูปแบบของไฟล์จึงสะดวกในการดูและแก้ไขคุกกี้ซึ่งเป็นสาเหตุที่มักกล่าวกันว่าคุกกี้ไม่สามารถเก็บข้อมูลสำคัญได้
รูปแบบของคุกกี้แต่ละตัวมีดังนี้: <ชื่อคุกกี้> = <value>; ทั้งชื่อและมูลค่าจะต้องเป็นตัวระบุทางกฎหมาย
คุกกี้ใช้ได้ในช่วงเวลาหนึ่ง โดยค่าเริ่มต้นวงจรชีวิตของคุกกี้จะสิ้นสุดลงเมื่อเบราว์เซอร์ปิด หากคุณต้องการให้คุกกี้สามารถใช้งานได้หลังจากปิดเบราว์เซอร์คุณต้องตั้งค่าระยะเวลาที่ถูกต้องสำหรับคุกกี้ซึ่งเป็นวันหมดอายุของคุกกี้
การแจ้งเตือน (typeof document.cookie) ผลลัพธ์คือสตริง ฉันเคยคิดว่ามันเป็นอาร์เรย์และฉันทำเรื่องตลก ...
คุกกี้มีแนวคิดของโดเมนและเส้นทาง โดเมนเป็นแนวคิดของโดเมน เนื่องจากเบราว์เซอร์เป็นสภาพแวดล้อมที่ใส่ใจด้านความปลอดภัยโดเมนที่แตกต่างกันจึงไม่สามารถเข้าถึงคุกกี้จากกันและกัน (แน่นอนคุณสามารถเข้าถึงการเข้าถึงข้ามโดเมนผ่านการตั้งค่าพิเศษ) เส้นทางคือแนวคิดของการกำหนดเส้นทาง คุกกี้ที่สร้างขึ้นโดยหน้าเว็บสามารถเข้าถึงได้โดยหน้าเว็บทั้งหมดในไดเรกทอรีหรือไดเรกทอรีย่อยเดียวกันกับหน้าเว็บนี้ แต่ไม่สามารถเข้าถึงได้โดยไดเรกทอรีอื่น ๆ (ประโยคนี้ค่อนข้างสับสนมันจะเข้าใจง่ายหลังจากผ่านไประยะหนึ่ง)
ในความเป็นจริงวิธีการสร้างคุกกี้นั้นค่อนข้างคล้ายกับวิธีการกำหนดตัวแปรทั้งคู่ต้องใช้ชื่อคุกกี้และค่าคุกกี้ สามารถสร้างคุกกี้หลายตัวบนเว็บไซต์เดียวกันและสามารถเก็บคุกกี้หลายตัวไว้ในไฟล์คุกกี้เดียวกัน
คำถามที่พบบ่อยคุกกี้
คุกกี้มีสองประเภท:
คุกกี้ที่กำหนดโดยเว็บไซต์ปัจจุบันที่คุณกำลังค้นหา
คุกกี้ของบุคคลที่สามจากแหล่งโดเมนอื่น ๆ เช่นการฝังโฆษณาหรือรูปภาพบนหน้าเว็บ (เว็บไซต์สามารถติดตามข้อมูลการใช้งานของคุณได้โดยใช้คุกกี้เหล่านี้)
ความรู้พื้นฐานเพิ่งกล่าวถึงปัญหาของวงจรชีวิตของคุกกี้ ในความเป็นจริงคุกกี้สามารถแบ่งออกเป็นสองรัฐ:
คุกกี้ชั่วคราว ในระหว่างกระบวนการใช้งานปัจจุบันเว็บไซต์จะเก็บข้อมูลส่วนบุคคลบางอย่างและข้อมูลจะถูกลบออกจากคอมพิวเตอร์หลังจากปิดเบราว์เซอร์
ตั้งค่าคุกกี้สำหรับเวลาหมดอายุ แม้ว่าเบราว์เซอร์จะปิด แต่อุตสาหกรรมข้อมูลจะยังคงอยู่ในคอมพิวเตอร์ เช่นชื่อเข้าสู่ระบบและรหัสผ่านไม่จำเป็นต้องเข้าสู่ระบบทุกครั้งที่คุณไปที่ไซต์เฉพาะ คุกกี้นี้สามารถเก็บไว้ในคอมพิวเตอร์เป็นเวลาหลายวันเดือนหรือปี
มีสองวิธีในการล้างคุกกี้:
Clear Cookies ผ่านเครื่องมือเบราว์เซอร์ (มีเครื่องมือของบุคคลที่สามและเบราว์เซอร์เองก็มีฟังก์ชั่นนี้ด้วย)
คุกกี้ที่ชัดเจนโดยการตั้งค่าระยะเวลาที่ถูกต้องของคุกกี้
หมายเหตุ: การลบคุกกี้บางครั้งอาจทำให้หน้าเว็บบางหน้าไม่ทำงานอย่างถูกต้อง
เบราว์เซอร์สามารถยอมรับและปฏิเสธการเข้าถึงคุกกี้ผ่านการตั้งค่า
สำหรับเหตุผลในการใช้งานและประสิทธิภาพขอแนะนำให้ลดจำนวนคุกกี้ที่ใช้และใช้คุกกี้ขนาดเล็กให้น้อยที่สุด
รายละเอียดเกี่ยวกับการเข้ารหัสคุกกี้จะถูกนำเสนอแยกต่างหากในบทความขั้นสูงของคุกกี้
หากเป็นหน้าบนดิสก์ท้องถิ่นคอนโซล Chrome ไม่สามารถใช้ JavaScript เพื่ออ่านและเขียนคุกกี้ได้ วิธีแก้ปัญหาคือ ... เปลี่ยนเบราว์เซอร์^_^
การใช้คุกกี้ขั้นพื้นฐาน
1. การดำเนินการเข้าถึงอย่างง่าย
เมื่อเข้าถึงคุกกี้โดยใช้ JavaScript คุณต้องใช้แอตทริบิวต์คุกกี้ของวัตถุเอกสาร บรรทัดของรหัสแนะนำวิธีการสร้างและแก้ไขคุกกี้:
การคัดลอกรหัสมีดังนี้:
document.cookie = 'username = darren';
ในรหัสข้างต้น 'ชื่อผู้ใช้' หมายถึงชื่อคุกกี้และ 'Darren' หมายถึงค่าที่สอดคล้องกับชื่อนี้ สมมติว่าไม่มีชื่อคุกกี้จากนั้นสร้างคุกกี้ใหม่ หากมีอยู่ค่าที่สอดคล้องกับชื่อคุกกี้จะถูกแก้ไข หากคุณต้องการสร้างคุกกี้หลายครั้งให้ใช้วิธีนี้ซ้ำ ๆ
2. การดำเนินการอ่านคุกกี้
จริงๆแล้วมันง่ายมากในการอ่านคุกกี้อย่างถูกต้องซึ่งก็คือการทำงานกับสตริง คัดลอกรหัสนี้บน W3School เพื่อวิเคราะห์:
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่น getCookie (c_name) {
if (document.cookie.length> 0) {// ก่อนตรวจสอบว่าคุกกี้ว่างเปล่าถ้าว่างเปล่าให้กลับมา ""
c_start = document.cookie.indexof (c_name + "=") // ตรวจสอบว่าคุกกี้นี้มีอยู่ผ่านดัชนี () ของวัตถุสตริงหรือไม่ ถ้าไม่มีอยู่ก็คือ -1
if (c_start! =-1) {
c_start = c_start +c_name.length +1 // สุดท้าย +1 หมายถึงหมายเลข "=" เพื่อให้ได้ตำแหน่งเริ่มต้นของค่าคุกกี้
c_end = document.cookie.indexof (";", c_start) // จริง ๆ แล้วเมื่อฉันเห็นพารามิเตอร์ที่สองของ indexof () ฉันก็วิงเวียนเล็กน้อย ต่อมาฉันจำได้ว่ามันระบุตำแหน่งดัชนีเริ่มต้นที่ระบุ ... ประโยคนี้คือการได้รับตำแหน่งสิ้นสุดของค่า เนื่องจากมีความจำเป็นที่จะต้องพิจารณาว่าเป็นรายการสุดท้ายหรือไม่จึงถูกตัดสินว่า ";"; " มีจำนวนอยู่
if (c_end ==-1) c_end = document.cookie.length
ส่งคืน Unsescape (document.cookie.substring (c_start, c_end)) // ค่าที่ได้รับผ่าน substring () หากคุณต้องการที่จะเข้าใจ Unsescape () คุณต้องรู้ก่อนว่าจะหลบหนีอะไร () พวกเขาทั้งหมดเป็นพื้นฐานที่สำคัญมาก หากคุณต้องการทราบคุณสามารถค้นหาได้ รายละเอียดของการเข้ารหัสคุกกี้จะถูกอธิบายในตอนท้ายของบทความ
-
-
กลับ ""
-
แน่นอนว่ามีหลายวิธีในการใช้คุกกี้เช่นอาร์เรย์ระเบียบ ฯลฯ ดังนั้นฉันจะไม่เข้าไปดูรายละเอียดที่นี่
3. กำหนดระยะเวลาที่ถูกต้องของคุกกี้
วงจรชีวิตของคุกกี้ที่มักจะปรากฏในบทความคือระยะเวลาที่ถูกต้องและระยะเวลาหมดอายุนั่นคือเวลาที่คุกกี้มีอยู่ โดยค่าเริ่มต้นคุกกี้จะถูกล้างโดยอัตโนมัติเมื่อเบราว์เซอร์ถูกปิด แต่เราสามารถตั้งค่าระยะเวลาที่ถูกต้องของคุกกี้ผ่านหมดอายุ ไวยากรณ์มีดังนี้:
การคัดลอกรหัสมีดังนี้:
document.cookie = "name = value; Expires = Date";
ค่าวันที่ในรหัสด้านบนเป็นสตริงประเภทวันที่ในรูปแบบ GMT (เวลา Greenwich) และวิธีการสร้างมีดังนี้:
การคัดลอกรหัสมีดังนี้:
var _date = วันที่ใหม่ ();
_date.setDate (_date.getDate ()+30);
_date.togmtstring ();
รหัสสามบรรทัดข้างต้นแบ่งออกเป็นหลายขั้นตอน:
สร้างอินสแตนซ์ของวันที่ผ่านใหม่เพื่อรับเวลาปัจจุบัน
วิธี getDate () ได้รับวันในเดือนท้องถิ่นปัจจุบันจากนั้นเพิ่ม 30 ซึ่งหมายความว่าฉันหวังว่าคุกกี้นี้สามารถบันทึกไว้ในท้องถิ่นเป็นเวลา 30 วัน
จากนั้นตั้งค่าเวลาผ่านวิธี setDate ();
สุดท้ายใช้วิธี togmtstring () เพื่อแปลงวัตถุวันที่เป็นสตริงและส่งคืนผลลัพธ์
ฟังก์ชั่นที่สมบูรณ์ต่อไปนี้แสดงให้เห็นถึงคะแนนที่เราต้องใส่ใจเมื่อสร้างคุกกี้ สร้างฟังก์ชั่นที่เก็บข้อมูลในคุกกี้:
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่น setCookie (c_name, ค่า, หมดอายุ) {
var exdate = วันที่ใหม่ ();
exdate.setDate (exdate.getDate () + Expiredays);
document.cookie = c_name + "=" + escape (value) + ((expiredays == null)? "": "; expires =" + exdate.togmtstring ());
-
// วิธีการใช้งาน: SetCookie ('ชื่อผู้ใช้', 'Darren', 30)
ตอนนี้ฟังก์ชั่นของเรากำหนดเวลาที่ถูกต้องของคุกกี้ตามจำนวนวัน หากคุณต้องการตั้งค่าในหน่วยอื่น (เช่น: ชั่วโมง) จากนั้นเปลี่ยนรหัสบรรทัดที่สาม:
การคัดลอกรหัสมีดังนี้:
exdate.sethours (exdate.getHours () + Expiredays);
ด้วยวิธีนี้ระยะเวลาที่ถูกต้องของคุกกี้จะขึ้นอยู่กับชั่วโมง
มีสองวิธีในการล้างคุกกี้ในคำถามที่พบบ่อย ตอนนี้เราต้องการที่จะบอกว่าคุกกี้ไม่ถูกต้องโดยการตั้งค่าระยะเวลาความถูกต้องเป็นเวลาที่หมดอายุ เนื่องจากมีวิธีการกำหนดวันหมดอายุโปรดขอให้เพื่อนที่สนใจทำด้วยตัวเอง^_^ มาต่อกับหัวข้อคุกกี้ที่ลึกกว่าด้านล่าง
คุกกี้ขั้นสูง
One.Cookie Path Concept
ในพื้นฐานมีการกล่าวถึงแนวคิดของคุกกี้ที่มีโดเมนและเส้นทาง ทีนี้มาแนะนำบทบาทของเส้นทางในคุกกี้
คุกกี้มักจะถูกสร้างขึ้นเนื่องจากผู้ใช้เข้าถึงหน้า แต่คุกกี้นี้ไม่สามารถเข้าถึงได้บนหน้าเว็บที่สร้างคุกกี้
โดยค่าเริ่มต้นเว็บเพจเฉพาะในไดเรกทอรีหรือไดเรกทอรีย่อยเดียวกันกับหน้าเว็บที่สร้างคุกกี้สามารถเข้าถึงได้ นี่เป็นเพราะข้อควรพิจารณาด้านความปลอดภัยไม่ใช่ทุกหน้าสามารถเข้าถึงคุกกี้ที่สร้างขึ้นโดยหน้าอื่น ๆ ตามความประสงค์ ตัวอย่างเช่น:
สร้างคุกกี้บนหน้า "//www.vevb.com/darren_code/" จากนั้นหน้าใต้พา ธ "/darren_code/" เช่น: "//www.vevb.com/darren_code/archive/2011/11/07/cookie.html
โดยค่าเริ่มต้น "//www.vevb.com" หรือ "//www.vevb.com/xxxx/" ไม่สามารถเข้าถึงคุกกี้นี้ได้ (มันไร้ประโยชน์เพียงแค่มองมันฝึกความจริง^_^)
ดังนั้นวิธีทำให้คุกกี้นี้สามารถเข้าถึงไดเรกทอรีอื่น ๆ หรือไดเรกทอรีหลักได้คุณสามารถทำได้โดยการตั้งค่าเส้นทางของคุกกี้ ตัวอย่างมีดังนี้:
การคัดลอกรหัสมีดังนี้:
document.cookie = "name = value; path = path"
document.cookie = "name = value; expires = date; path = path"
เส้นทางตัวอักษรสีแดงเป็นเส้นทางของคุกกี้ ตัวอย่างที่พบบ่อยที่สุดคือการปล่อยให้คุกกี้อยู่ในไดเรกทอรีดังนั้นไม่ว่าจะสร้างหน้าย่อยใดหน้าทั้งหมดสามารถเข้าถึงได้:
การคัดลอกรหัสมีดังนี้:
document.cookie = "name = darren; path =/";
สองแนวคิดโดเมน Cookie
เส้นทางสามารถแก้ปัญหาการเข้าถึงคุกกี้ภายใต้โดเมนเดียวกัน มาพูดคุยกันเกี่ยวกับปัญหาการเข้าถึงคุกกี้ระหว่างโดเมนเดียวกันต่อไป ไวยากรณ์มีดังนี้:
การคัดลอกรหัสมีดังนี้:
document.cookie = "name = value; path = path; domain = domain";
โดเมนสีแดงคือค่าของชุดฟิลด์คุกกี้
ตัวอย่างเช่น "www.qq.com" และ "Sports.qq.com" แบ่งปันชื่อโดเมนที่เกี่ยวข้อง "qq.com" หากเราต้องการให้คุกกี้ภายใต้ "Sports.qq.com" เข้าถึงได้โดย "www.qq.com" เราต้องใช้แอตทริบิวต์โดเมนของคุกกี้และตั้งค่าแอตทริบิวต์เส้นทางเป็น "/" ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
document.cookie = "username = darren; path =/; domain = qq.com";
หมายเหตุ: มันสามารถเข้าถึงได้อย่างแน่นอนระหว่างโดเมนเดียวกันและไม่สามารถตั้งค่าโดเมนเป็นชื่อโดเมนที่ไม่ใช่โดเมนหลัก
Three.Cookie Security
โดยปกติแล้วข้อมูลคุกกี้จะใช้เพื่อส่งข้อมูลโดยใช้การเชื่อมต่อ HTTP วิธีการจัดส่งนี้ดูง่ายดังนั้นข้อมูลที่เก็บไว้ในคุกกี้จะถูกขโมยได้ง่าย หากเนื้อหาที่ส่งมอบในคุกกี้มีความสำคัญมากกว่าการส่งข้อมูลที่เข้ารหัสจะเป็นสิ่งจำเป็น
ดังนั้นชื่อของแอตทริบิวต์นี้ของคุกกี้คือ "ปลอดภัย" และค่าเริ่มต้นจะว่างเปล่า หากแอตทริบิวต์ของคุกกี้มีความปลอดภัยข้อมูลจะถูกส่งระหว่างมันและเซิร์ฟเวอร์ผ่าน HTTPS หรือโปรโตคอลความปลอดภัยอื่น ๆ ไวยากรณ์มีดังนี้:
การคัดลอกรหัสมีดังนี้:
document.cookie = "username = darren; secure"
การตั้งค่าคุกกี้เพื่อความปลอดภัยเท่านั้นทำให้มั่นใจได้ว่ากระบวนการส่งข้อมูลระหว่างคุกกี้และเซิร์ฟเวอร์จะถูกเข้ารหัสในขณะที่ไฟล์คุกกี้ที่เก็บไว้ในเครื่องไม่ได้เข้ารหัส หากคุณต้องการให้คุกกี้ในท้องถิ่นเข้ารหัสคุณต้องเข้ารหัสข้อมูลของคุณด้วยตัวเอง
หมายเหตุ: แม้ว่าจะมีการตั้งค่าแอตทริบิวต์ที่ปลอดภัย แต่ก็ไม่ได้หมายความว่าคนอื่นไม่สามารถเห็นข้อมูลคุกกี้ที่บันทึกไว้ในเครื่องของคุณได้ดังนั้นหลังจากทั้งหมดอย่าใส่ข้อมูลสำคัญเกี่ยวกับคุกกี้ ...
สี่รายละเอียดการเข้ารหัส
ตอนแรกฉันต้องการแนะนำความรู้เกี่ยวกับการเข้ารหัสคุกกี้ในส่วนคำถามที่พบบ่อยเพราะถ้าฉันไม่เข้าใจสิ่งนี้ปัญหาการเข้ารหัสนั้นเป็นข้อผิดพลาดจริง ๆ ดังนั้นฉันจะพูดถึงรายละเอียด
เมื่อป้อนข้อมูลคุกกี้คุณไม่สามารถรวมสัญลักษณ์พิเศษเช่นช่องว่างอัฒภาคเครื่องหมายจุลภาค ฯลฯ และโดยทั่วไปการจัดเก็บข้อมูลคุกกี้อยู่ในลักษณะที่ไม่ได้เข้ารหัส ดังนั้นก่อนที่จะตั้งค่าข้อมูลคุกกี้คุณต้องใช้ฟังก์ชั่น Escape () เพื่อเข้ารหัสข้อมูลค่าคุกกี้และเมื่อคุณได้รับค่าคุกกี้ให้ใช้ฟังก์ชัน Unescape () เพื่อแปลงค่ากลับ หากตั้งค่าคุกกี้:
การคัดลอกรหัสมีดังนี้:
document.cookie = name + "=" + escape (value);
มาดูประโยคใน GetCookie () ที่กล่าวถึงในการใช้งานขั้นพื้นฐาน:
การคัดลอกรหัสมีดังนี้:
ส่งคืน Unsescape (document.cookie.substring (c_start, c_end));
ด้วยวิธีนี้คุณไม่ต้องกังวลเกี่ยวกับข้อผิดพลาดข้อมูลคุกกี้เนื่องจากสัญลักษณ์พิเศษปรากฏในค่าคุกกี้
รหัสส่วนตัว
การคัดลอกรหัสมีดังนี้:
/*ตั้งค่าคุกกี้*/
ฟังก์ชั่น setCookie (c_name, ค่า, Expiredays, Path, Domain, Secure) {
var exdate = วันที่ใหม่ (); // รับเวลาปัจจุบัน
exdate.setDate (exdate.getDate () + หมดอายุ); // เวลาหมดอายุ
document.cookie = c_name + "=" + // ชื่อคุกกี้
Escape (value) + // การเข้ารหัสค่าคุกกี้
((expiredays == null)? "": "; expires =" + exdate.togmtstring ()) + // กำหนดเวลาหมดอายุ
((path == null)? '/': '; path =' + path) + // ตั้งค่าเส้นทางการเข้าถึง
((domain == null)? '': '; domain =' + โดเมน) + // ตั้งค่าโดเมนการเข้าถึง
((secure == null)? '': '; secure =' + secure); // ตั้งค่าว่าจะเข้ารหัสหรือไม่
-
setCookie ('ทดสอบ', 'name = sheng; sex = men; lancer = dullbear', 30);
SetCookie ('bb', 'name = sheng; sex = men', 30);
/*รับคุกกี้*/
ฟังก์ชั่น getCookie (c_name, index) {
var cookies = document.cookie; // รับค่าคุกกี้
var cookielen = คุกกี้ความยาว; // รับความยาวคุกกี้
if (cookielen> 0) {// เมื่อคุกกี้ไม่ว่างเปล่า
var c_start = cookies.indexof (c_name + '='); // ค้นหาหมายเลขซีเรียลที่จำเป็นสำหรับค่าคุกกี้ในคุกกี้
if (c_start> -1) {// เมื่อมีค่าคุกกี้อยู่
c_start + = c_name.length + 1; // รับหมายเลขลำดับเริ่มต้นของค่าคุกกี้
var c_end = cookies.indexof (';', c_start); // รับหมายเลขลำดับสิ้นสุดของค่าคุกกี้
if (c_end == -1) {// เมื่อคุกกี้เป็นคนสุดท้าย
c_end = cookielen; // ตั้งค่าลำดับท้ายของค่าคุกกี้เป็นความยาวคุกกี้
-
var cookiestr = unescape (cookies.substring (c_start, c_end)); // รับค่าคุกกี้ที่ถอดรหัส
var cookieobj = cookiestr.split (';'); // ค่าคุกกี้แยก
index = (index == null)? 0: index); // ตัดสินว่าดัชนีจะถูกส่งผ่านไปยังค่า
var goalobj = cookieobj [ดัชนี]; // ดัชนีอาร์เรย์
VAR GOARSTR = GOAROBJ.SPLIT ('=');
var getCook = toursTr [1]; // รับค่าคุกกี้ที่ต้องได้รับ
กลับ GetCook;
-
} อื่น {
console.log ('หน้าไม่มีคุกกี้');
-
-
การแจ้งเตือน (getCookie ('ทดสอบ', 0)); // พิมพ์ค่าคุกกี้แบบสอบถาม