6 คะแนน โดย GN⁺ 2023-11-07 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • บทความนี้กล่าวถึงการฝึกฝนการจัดการ Document Object Model (DOM) ให้เชี่ยวชาญด้วย Vanilla JavaScript
  • แม้จะมีการใช้เครื่องมือสมัยใหม่อย่าง Angular, VueJS, React, Solid และ Svelte ก็ยังเน้นย้ำถึงความสำคัญของการเข้าใจ DOM API ของเบราว์เซอร์สำหรับการพัฒนาเว็บ
  • ผู้เขียนได้รวบรวมแหล่งข้อมูลที่ประกอบด้วย API พื้นฐานของเบราว์เซอร์ ตัวอย่างที่เข้าใจง่าย เดโมแบบเรียลไทม์ เคล็ดลับและแนวทางปฏิบัติที่ดี กรณีใช้งานจริง ตลอดจนความเข้ากันได้กับเบราว์เซอร์สมัยใหม่และ Internet Explorer
  • แหล่งข้อมูลเหล่านี้แบ่งออกเป็น 3 ระดับ ได้แก่ พื้นฐาน ระดับกลาง และระดับสูง
  • ระดับพื้นฐานครอบคลุมงานอย่างการเปลี่ยน favicon แบบไดนามิกตามค่ากำหนดโทนสีของผู้ใช้ การคำนวณเวลาอ่านของหน้าเว็บ และการอัปเดตตัวแปรรากของ CSS แบบไดนามิก
  • ระดับกลางครอบคลุมงานอย่างการลบการเยื้องในพื้นที่ข้อความด้วยคีย์ผสม Shift+Tab การเข้าสู่โหมดเต็มหน้าจอ และการสร้าง spin input
  • ระดับสูงครอบคลุมงานอย่างการสร้างเคอร์เซอร์แบบกำหนดเอง การ sanitize สตริง HTML และการสร้าง scrollbar แบบกำหนดเอง
  • ผู้เขียนยังมีเคล็ดลับ เช่น การหลีกเลี่ยงการเลื่อนของเลย์เอาต์เมื่อเปิด modal และการหากรอบสี่เหลี่ยมขอบเขตของ text node
  • บทความปิดท้ายด้วยการเชิญชวนให้สมัครรับจดหมายข่าวของผู้เขียนเกี่ยวกับคอนเทนต์เทคนิคฝั่งฟรอนต์เอนด์

1 ความคิดเห็น

 
GN⁺ 2023-11-07
ความคิดเห็นจาก Hacker News
  • บทความนี้ยกตัวอย่างหลากหลายเพื่อช่วยให้เชี่ยวชาญการจัดการ DOM ได้อย่างสมบูรณ์
  • ตัวอย่างต่าง ๆ ได้รับคำชมว่าละเอียดและเหมาะกับงาน UI ที่ใช้งานได้จริง
  • ผู้ใช้บางคนรู้สึกว่าการทำงานกับ DOM API พื้นฐานนั้นน่าเบื่อและเกิดข้อผิดพลาดได้ง่าย จึงหันไปใช้เฟรมเวิร์กอย่าง Svelte
  • มีการพูดคุยถึงช่องโหว่ด้านความปลอดภัยที่อาจเกิดขึ้นจากโค้ดบางส่วน พร้อมเสนอให้ใช้ whitelist
  • ผู้ใช้บางคนชี้ให้เห็นการทำซ้ำที่ไม่จำเป็นในโค้ด และเสนอทางเลือกที่มีประสิทธิภาพมากกว่า
  • ตัวอย่างบางส่วนยังใช้ API แบบเก่า ทั้งที่มีเวอร์ชันใหม่กว่าซึ่งสะดวกกว่าให้ใช้แล้ว
  • เทคนิค "ขยายพื้นที่ข้อความอัตโนมัติ" ถูกมองว่าล้าสมัยสำหรับบางคน และมีการเสนอให้ใช้ CSS property แบบใหม่หรือใช้องค์ประกอบ mirror ที่ซ่อนไว้
  • บทความนี้จุดประกายการถกเถียงถึงประโยชน์ของการเข้าใจการจัดการ DOM ขั้นพื้นฐาน
  • ผู้ใช้บางคนหวนคิดถึงยุคแรกของการพัฒนาเว็บที่ทุกอย่างเขียนด้วย "vanilla" JS
  • มีข้อเสนอว่าการนำตัวอย่างเหล่านี้มาทำเป็นแพ็กเกจเพื่อให้อัปเดตและใช้งานได้ง่าย จะดีกว่าการคัดลอกแล้ววาง