ตรวจสอบว่าเบราว์เซอร์ของผู้เข้าชมรองรับ JavaScript และคุกกี้หรือไม่
เว็บไซต์จำนวนมากต้องการให้ไคลเอ็นต์ทำงานที่ซับซ้อนจำนวนมาก เช่น: การใช้ JavaScript ฝั่งไคลเอ็นต์เพื่อตรวจสอบความถูกต้องของข้อมูล ซึ่งต้องเปิดใช้งาน JavaScript ในเบราว์เซอร์ของไคลเอ็นต์เพื่อบันทึก ข้อมูลประจำตัว ฯลฯ ข้อมูลต้องเปิดใช้งานคุกกี้ของเบราว์เซอร์ ดังนั้นจึงจำเป็นต้องตรวจสอบให้แน่ใจว่าตัวเลือกเหล่านี้เปิดอยู่ในเบราว์เซอร์ของผู้ใช้ ในเว็บไซต์ของฉัน ฉันใช้โค้ดสั้นๆ จำนวนมากเพื่อใช้งานฟังก์ชันเหล่านี้ ตรวจสอบว่าผู้ใช้เข้าสู่ระบบเมื่อใด และไม่อนุญาตให้ผู้ใช้เข้าสู่ระบบหากไม่ตรงตามข้อกำหนด ในบทความนี้ ผมจะแนะนำวิธีการเขียนหน้าเข้าสู่ระบบนี้
ก่อนอื่นเราใช้ JavaScript เพื่อสร้างคุกกี้ จากนั้นตรวจสอบว่ามีคุกกี้อยู่หรือไม่ เนื่องจากเราใช้ JavaScript ในการดำเนินการนี้ หากผู้ใช้ไม่เปิด JavaScript แต่เปิดคุกกี้ เราจะยังคงได้รับผลลัพธ์ว่าไม่ได้เปิดคุกกี้ แต่สิ่งนี้ไม่ขัดแย้งกับข้อกำหนดของเรา อย่างไรก็ตาม เราจำเป็นต้องเปิดทั้งสองอย่าง (หากคุณเพียงต้องการทราบว่าคุกกี้เปิดใช้งานอยู่หรือไม่และไม่สนใจ JavaScript ก็มีวิธี เราจะหารือเรื่องนี้ในบทความอื่น) เพื่อตรวจสอบว่าผู้ใช้เปิดใช้งาน JavaScript หรือไม่ ฉันได้สร้างการซ่อนจากใน html แล้วเรียกมันในเหตุการณ์ onload ฟังก์ชัน JavaScript จะเปลี่ยนค่าของแบบฟอร์มที่ซ่อนอยู่ แสดงว่า JavaScript เปิดอยู่ มิฉะนั้นฟังก์ชัน JavaScript จะไม่ถูกเรียก (ฉันเขียนสองฟังก์ชันข้างต้นไว้ในฟังก์ชันเดียว)
ขั้นแรก เราใส่แบบฟอร์มที่ซ่อนอยู่ใน html ซึ่งล้อมรอบด้วย <form>...</form> (แน่นอนว่าสามารถเป็นชื่อผู้ใช้/รหัสผ่านได้จาก)
<FORM>
-
<input type="hidden" name="cookieexists" value="false">
</FORM>
ตราบใดที่ค่าเป็นเท็จ แสดงว่าเบราว์เซอร์ไม่รองรับ JavaScript โปรดทราบว่าค่าเริ่มต้นเป็นเท็จ ฟังก์ชัน JavaScript ของเราจะเปลี่ยนค่านี้
ให้เป็นจริง เขียนสิ่งนี้ใน BODY:
<body onload="cc()">
เนื้อหาของ cc() มีดังต่อไปนี้:
ต่อไปนี้เป็นส่วนของใบเสนอราคา:
<ภาษาสคริปต์ = "จาวาสคริปต์">
-
ฟังก์ชั่นซีซี()
-
/* ตรวจสอบคุกกี้ */
ถ้า (document.cookie == "")
-
/* หากไม่พบคุกกี้ - แจ้งเตือนผู้ใช้ -
เปลี่ยนค่าช่อง cookieexists เป็น false */
alert("จำเป็นต้องเปิดใช้งานคุกกี้!");
/* หากผู้ใช้ปิดใช้งานคุกกี้ การแจ้งเตือนจะแจ้งให้เขาทราบ
จำเป็นต้องเปิดใช้งานคุกกี้เพื่อเข้าสู่ระบบ*/
document.Form1.cookieexists.value="false"
} อื่น {
/* นี่เป็นการตั้งค่าให้เป็นจริงและจะไม่มีอะไรเกิดขึ้นอีก
ผู้ใช้จะสามารถเข้าสู่ระบบได้*/
document.Form1.cookieexists.value="true"
-
-
/* ตั้งค่าคุกกี้เพื่อให้แน่ใจว่ามีคุกกี้อยู่
โปรดทราบว่านี่อยู่นอกฟังก์ชัน*/
document.cookie = 'killme' + Escape ('ไม่มีอะไร')
-
</สคริปต์>
ฟังก์ชั่นที่โปรแกรมนี้สามารถใช้ได้คือ:
1. เมื่อเปิด JavaScript ของผู้ใช้และปิดคุกกี้ ข้อความเตือนจะปรากฏขึ้น
2. เมื่อปิด JavaScript ของผู้ใช้ ผู้ใช้จะไม่สามารถรับผลการตรวจสอบได้โดยตรง (อย่าลืมว่าเมื่อต้องการเปิดหน้าต่างคำเตือนขึ้นมา คุณจะต้องดำเนินการคำสั่ง JavaScript การแจ้งเตือนด้วย ในขณะนี้ แม้ว่าคุณจะตรวจสอบแล้ว คุณจะไม่ได้รับแจ้ง) อย่างไรก็ตาม หลังจากที่ผู้ใช้ส่งคำสั่ง from แล้ว โปรแกรมพื้นหลังจะพบว่าค่าของช่องมีคุกกี้เป็นเท็จ หมายความว่า JavaScript ปิดอยู่ คุณไม่จำเป็นต้องให้ฉันบอกคุณว่าคุณจะทำอะไรในอนาคตใช่ไหม?