Cookie Consent เป็น JavaScript Plugin ที่ทำให้เราทำ Cookie Consent แสดง Popup เพื่อขอความยินยอมจากผู้ใช้งานได้แบบง่ายๆ เลย ตัว Plugin เป็น Vanilla JavaScript นั่นหมายความว่า สามารถใช้ได้กับทุกๆ เว็บเลย เพียงแค่เพิ่ม script ลงไปในเว็บ
ตัว Cookie Consent ขั้นตอนการใช้คือ ตัว script จะอ่านค่า config พร้อม UI รวมถึงมี callback function กรณีที่ผู้ใช้งานกด ยินยอม หรือกดปฏิเสธ เราก็ไปใส่ business logic ใน function นั้นตามที่เราต้องการได้เลย
มาลองใช้งานกันดูครับ ตัวเว็บ Cookie Consent มีคำธิบาย การใช้งานอยู่แล้ว
รวมถึงมีหน้าตา Demo ให้เราไปกดเข้าดู ว่าอยากได้หน้าตาประมาณไหน อยากได้กล่องใหญ่ เล็ก ตำแหน่งไหน หรือปรับ Theme ก็ทำได้ เช่นกัน
1. แบบ HTML/CSS/JS ธรรมดา
เริ่มต้น สร้างไฟล์ html ขึ้นมาแบบธรรมดาๆ เลย index.html
เพิ่ม cookie consent script และ css ลงไป
ส่วน script เพิ่มก่อนปิด body tag และเป็น defer
รวมถึงไฟล์ custom js ที่เรากำลังจะสร้างชื่อ cc-init.js
ด้วย
สร้างไฟล์ cc-init.js
ขึ้นมา
สุดท้าย config
ก็กำหนดค่าให้มัน แบบตัวอย่าง
ทดสอบเปิดเว็บขึ้นมา เราจะเห็น Cookie Consent ขึ้นมาที่หน้าเว็บของเราแล้ว
กรณีต้องการปรับแต่งหน้าตา อยากได้แบบ กล่อง อยากได้แบบใหญ่ๆ ก็ปรับจาก gui_options
ใน config
ได้เลย
สุดท้าย การเปลี่ยน Theme ก็แค่ไปโหลด css จากหน้า Demo ของ Cookie Consent มาครับ แล้วเพิ่ม stylesheet ลงไป ส่วน index.html
ก็เพิ่ม class ให้ body ที่เราต้องการ เช่น theme theme_turquoise
ลองดูไฟล์ Config ว่าเราสามารถทำอะไรได้บ้าง? ลองปรับ เพิ่มลดดูได้นะครับ
2. แบบใช้ React.js
สำหรับวิธีนี้ จำเป็นต้องมี Node.js บนเครื่องก่อน และสามารถใช้งาน Command Line / Terminal เพื่อพิมพ์คำสั่งได้
Create Project
โดยขั้นตอนนี้ผมจะยกตัวอย่าง ด้วยการใช้ Vite ขึ้นโปรเจ็ค เริ่มต้น ก็สร้างโปรเจ็คด้วยคำสั่ง
ทำการตั้งชื่อ เลือก React และ JavaScript
เปิดโปรเจ็คขึ้นมา ทำการ install แล้วลองทดสอบรัน เพื่อให้เห็นหน้าเว็บก่อน http://127.0.0.1:5174/
Create Cookie Consent Component
ต่อมา ทำการ install cookie consent
หลังจากติดตั้ง เราจะทำการสร้าง Component ขึ้นมา เพื่อเอาไว้โหลด Cookie Consent ใน useEffect()
ตัวอย่างผมใช้ชื่อว่า CookieConsent.jsx
ในโฟลเดอร์ components
(สร้างใหม่)
ส่วนไฟล์ config
ก็คือ config แบบเดียวกันกับที่ใช้ HTML ธรรมดาเลย ก็อปมาแปะใส่ได้เลยครับ
สุดท้าย นำ Component ที่เราสร้างใหม่ ไปใส่ไว้ในหน้า App.jsx
ทดสอบดูว่า เราจะมีหน้าเว็บ ที่มี Cookie Consent ขึ้นแล้ว
ทีนี้อยากเปลี่ยน Theme ก็ทำเหมือน HTML ปกติเลยครับ เพิ่ม CSS และเพิ่ม class ไปที่ body
ในไฟล์ index.html
เป็นอันเรียบร้อย
นอกจากนี้ เราก็ยังใส่ custom attribute เพื่อให้ Cookie Consent มันทำงานได้ เช่น ให้เปิด Setting, ให้ Accept ตัวอย่าง แก้ไข CookieConsent.jsx
ให้มีปุ่ม เมื่อกด ให้เปิด Setting ขึ้นมา ก็ใช้ง่ายๆ แบบนี้เลย
ลองไปเล่นกันดูได้นะครับ ลองปรับแต่งจาก Demo เลือกหน้าตาที่ชอบ ดูว่า Config มันทำอะไรได้บ้าง และปรับใช้ตามความต้องการของเราได้เลย หวังว่าบทความนี้จะเป็นประโยชน์นะครับ สุดท้าย Source Code ใน Repo ด้านล่างเลย
Happy Coding ❤️