นักพัฒนาสร้างเกมงูสุดป่วนบนเบราว์เซอร์ ใช้หน้าต่างย่อยมากถึง 576 จอ
ไอเดียสุดโต่งจากนักพัฒนาเว็บที่นำหน้าต่างเบราว์เซอร์ 576 จอมาต่อกันเป็นเกมงู พร้อมเผยประโยชน์จริงในการนำไปตรวจสอบลิงก์เสีย

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- นักพัฒนาสร้างเกมงูบนเบราว์เซอร์โดยใช้หน้าต่างย่อยรวม 576 จอ
- ต้องเปิดใช้งานปุ่มอนุญาต popup และใช้ผ่านเบราว์เซอร์ Google Chrome บน Windows เท่านั้น
- เทคนิคการควบคุมหน้าต่างย่อยนี้ต่อยอดไปใช้ตรวจสอบ broken links แทนการใช้ iframe ได้
- ผู้สร้างย้ำเตือนให้กดปุ่มเคลียร์หน้าต่างเมื่อจบเกมเพื่อไม่ให้หน้าต่างค้างเต็มจอ
นักพัฒนาซอฟต์แวร์รายหนึ่งได้เผยแพร่โปรเจกต์ทดลองสุดแปลกตาบนเว็บ Dev.to โดยการสร้างเกมงู (Snake) ขึ้นมา แต่ความพิเศษคือตัวเกมไม่ได้แสดงผลอยู่ในหน้าแท็บเดียวกันแบบปกติ หากแต่ใช้เทคนิคการเปิดหน้าต่างเบราว์เซอร์แยกย่อยออกมารวมกันมากถึง 576 จอ เพื่อประกอบกันเป็นพื้นที่แสดงผลของเกม
ไอเดียสุดป่วนนี้เกิดขึ้นหลังจากที่ผู้พัฒนาได้พูดคุยกับเพื่อนร่วมงานเกี่ยวกับความสามารถในการควบคุมหน้าต่างเบราว์เซอร์บานหนึ่งจากอีกบานหนึ่ง ซึ่งเดิมทีถูกออกแบบมาสำหรับงานที่มีสาระ เช่น การตรวจสอบลิงก์เสีย (broken links) ทีละหน้าจอ แต่สุดท้ายก็นำมาสู่การทดลองทางเทคโนโลยีที่เจ้าตัวยอมรับว่าเป็นหนึ่งในวิธีที่เล่นสนุกแต่สร้างความปวดหัวให้กับผู้ใช้ไม่น้อย

สำหรับผู้ที่ต้องการทดลองเล่นโปรเจกต์นี้ มีข้อกำหนดทางเทคนิคและการใช้งานที่ต้องปฏิบัติตามอย่างเคร่งครัด ดังนี้:
- ระบบปฏิบัติการและเบราว์เซอร์ที่รองรับการทดสอบนี้คือ Google Chrome บนระบบปฏิบัติการ Windows เท่านั้น
- ผู้ใช้ต้องกดปุ่มเริ่มต้นเกมและตั้งค่าเบราว์เซอร์ให้ยินยอมการแสดง popup (always allow popups) จากเว็บไซต์
- ข้อควรระวัง ห้ามคลิกเมาส์มั่วซั่วบนหน้าต่างย่อยเด็ดขาด ให้ควบคุมทิศทางผ่านปุ่มลูกศร (arrow keys) เท่านั้น
- เมื่อเล่นเกมจบลง จะต้องกดปุ่มล้างหน้าต่างทั้งหมดในหน้าต่างคะแนนสูงสุด มิฉะนั้นจะต้องมานั่งไล่ปิดหน้าต่างทีละจอด้วยความยากลำบาก
แม้ผลงานชิ้นนี้จะดูเป็นเรื่องตลกขบขันและสร้างความปวดตาให้กับผู้รับชม แต่ในมุมมองเบื้องหลังการเขียนโค้ดแล้ว การควบคุมหน้าต่างเบราว์เซอร์ด้วยการกำหนดขนาด (size) และตำแหน่งพิกัด (position) รวมถึงการตั้งชื่ออ้างอิงหน้าต่าง (window naming) สามารถเปิดโอกาสให้เกิดลูกเล่นใหม่ๆ ในการพัฒนาเว็บแอปพลิเคชันได้อีกมาก
"Turning 576 browser windows into Snake is such a ridiculous idea, but I love that it somehow leads to a genuinely useful workflow for checking broken links."
Sarah Pan
ในเชิงสถาปัตยกรรมเว็บ การควบคุมหน้าต่างเบราว์เซอร์หลายบานผ่านจาวาสคริปต์ (Window.open API) มักถูกมองข้ามเพราะความเสี่ยงเรื่อง Pop-up Blocker และปัญหาด้านประสิทธิภาพ แต่หากประยุกต์ใช้อย่างถูกต้อง จะช่วยแก้ข้อจำกัดของเทคโนโลยี iframe แบบเดิมที่มักติดปัญหาการบล็อกการฝังเนื้อหาจากนโยบาย Same-Origin Policy หรือ X-Frame-Options ของเว็บไซต์ภายนอก ทำให้โปรเจกต์ลักษณะนี้สะท้อนให้เห็นวิธีคิดนอกกรอบในการนำ API พื้นฐานของเบราว์เซอร์มาต่อยอดเป็นเครื่องมือทำงานจริง เช่น ระบบคิวตรวจสอบสถานะเว็บไซต์หลังกำแพงล็อกอิน (Paywall)
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น