System Information Viewer: เปิดดูข้อมูลที่ Browser ของคุณเปิดเผยให้เว็บไซต์รู้
เครื่องมือ System Information Viewer แสดงข้อมูล browser, hardware และ network ที่ browser เปิดเผย เช่น user agent, CPU cores, memory, ความเร็วการเชื่อมต่อ ครบในหน้าเดียว ทำงาน client-side 100%
Table of Contents
เวลาที่คุณเปิดเว็บไซต์ใดก็ตาม browser ของคุณจะบอกข้อมูลเกี่ยวกับตัวคุณและอุปกรณ์ของคุณให้เว็บไซต์นั้นรู้อยู่เสมอ ไม่ว่าจะเป็น browser อะไร, ระบบปฏิบัติการอะไร, ใช้จอขนาดไหน, มี RAM เท่าไร, หรือต่อเน็ตด้วยความเร็วเท่าไร — ทั้งหมดนี้ถูกส่งออกไปพร้อมกับทุก request ผ่าน JavaScript APIs และ HTTP headers ที่กำหนดไว้เป็นมาตรฐานของ web platform
เครื่องมือ System Information Viewer ของ Online Tools Forge จะรวบรวมข้อมูลทั้งหมดที่ browser เปิดเผยออกมาแสดงเป็น dashboard หน้าเดียว ให้คุณเห็นภาพรวมของ browser, hardware, network และ storage ได้ในทันที โดยไม่ต้องเปิด DevTools หรือเขียนโค้ดแม้แต่บรรทัดเดียว
ในบทความนี้เราจะพาคุณไปดูว่าเครื่องมือนี้ใช้งานยังไง ข้อมูลแต่ละชิ้นมาจากไหน และคุณจะนำข้อมูลเหล่านี้ไปใช้ประโยชน์ในงานพัฒนาเว็บจริงได้อย่างไรบ้าง
ทำไมต้องใช้ System Information Viewer?
- เข้าใจสิ่งที่ browser เปิดเผยโดยไม่ต้องเขียนโค้ด — โดยปกติเราต้องเปิด console แล้วพิมพ์ navigator.userAgent หรือ navigator.hardwareConcurrency เองทีละบรรทัด แต่เครื่องมือนี้รวบรวมทุกอย่างมาแสดงเป็นการ์ดจัดหมวดหมู่ให้อ่านง่ายในหน้าเดียว
- เช็ค environment ของเครื่องได้ในคลิกเดียว — ไม่ว่าจะเป็น browser เวอร์ชันไหน, OS อะไร, ต่อเน็ตแบบ 4g หรือ wifi, เปิด data saver อยู่หรือไม่ ดูจบได้ในไม่กี่วินาที
- ดีบัก bug เฉพาะอุปกรณ์ได้เร็วขึ้น — เวลาเจอ issue ที่เกิดเฉพาะบาง browser หรือบางเครื่อง ข้อมูลจากเครื่องมือนี้คือจุดเริ่มต้นที่ดีในการแยกแยะว่า bug เกิดจากอะไร
- เห็นภาพ performance context ของผู้ใช้ — จำนวน CPU cores, device memory และความเร็วเน็ต บอกได้ว่าเครื่องของผู้ใช้มีทรัพยากรพอจะรัน workload หนักๆ หรือไม่
- ตระหนักเรื่อง privacy และ passive fingerprinting — ข้อมูลเหล่านี้คือสิ่งที่เว็บไซต์อื่นใช้ระบุตัวตนผู้ใช้แบบเงียบๆ การเห็นของจริงจะทำให้คุณเข้าใจและป้องกันได้ถูกจุด
- ฟรี ใช้งานผ่าน browser ได้ทันที ไม่ต้องติดตั้งอะไร — และทำงาน client-side 100% ไม่มีข้อมูลใดถูกส่งไปยัง server
ฟีเจอร์หลัก
| ฟีเจอร์ | รายละเอียด |
|---|---|
| Quick Overview | browser ที่ตรวจพบ (Chrome/Firefox/Safari/Edge/Opera), OS ที่ตรวจพบ (Windows/macOS/Linux/Android/iOS), จำนวน CPU cores, สถานะ online/offline |
| Browser Information | user agent string, ภาษา, รายการ languages, cookieEnabled, doNotTrack |
| Platform / Device | platform, device type (mobile/desktop ตรวจจาก UA), vendor, จำนวน cookies, localStorage usage เทียบโควตา 5MB |
| Hardware | CPU cores จาก navigator.hardwareConcurrency, device memory (GB), touch support, maxTouchPoints |
| Connection | สถานะ online, connection type, effectiveType (เช่น 4g), downlink (Mbps), RTT (ms), data saver เปิด/ปิด |
| Copy & Refresh | ปุ่ม copy-to-clipboard รายแถวพร้อม toast แจ้งผล, ปุ่ม refresh และ auto-refresh เมื่อสถานะ online/offline เปลี่ยน |
จุดเด่นที่ทำให้เครื่องมือนี้ใช้งานจริงได้ดี:
- ทุกแถว copy ได้ — แค่กดปุ่ม copy ข้างแถวข้อมูล ระบบจะคัดลอกค่าลง clipboard และแสดง toast ยืนยันผลทันที สะดวกเวลาต้องเอาไปวางใน issue หรือ ticket
- auto-refresh อัจฉริยะ — ถ้าสถานะ online/offline เปลี่ยน เช่น ถอด wifi หรือกลับมาเชื่อมต่อใหม่ ข้อมูลจะรีเฟรชให้อัตโนมัติ เหมาะกับกรณีที่ต้องการเทียบข้อมูลตอนเน็ตปกติกับตอนหลุด
- privacy-first — หน้า consent จะแสดงก่อนเสมอ ต้องกดยินยอมก่อนจึงเริ่มเก็บข้อมูล และทุกอย่างประมวลผลในเครื่องของคุณเท่านั้น
วิธีใช้งาน
- เปิดลิงก์ System Information Viewer — ครั้งแรกจะเจอหน้า privacy consent แสดงก่อนเสมอ อ่านรายละเอียดแล้วกดยินยอมเพื่อให้เครื่องมือเริ่มอ่านข้อมูลจาก browser
- ดูการ์ด Quick Overview ด้านบนสุด เพื่อเช็คภาพรวมว่า browser ตรวจพบอะไรบ้าง, OS อะไร, มี CPU cores กี่ตัว และตอนนี้ออนไลน์หรือออฟไลน์
- อ่านรายละเอียดจากการ์ด Browser Information, Platform/Device, Hardware และ Connection ตามลำดับ แต่ละการ์ดจัดหมวดหมู่ชัดเจน มีป้ายชื่อ field กำกับว่าข้อมูลมาจาก API ไหน
- เมื่อต้องการใช้ข้อมูลต่อ ให้กดปุ่ม copy ข้างแถวที่ต้องการ ระบบจะคัดลอกค่าลง clipboard พร้อม toast แจ้งผลสำเร็จ
- กดปุ่ม refresh เพื่อดึงข้อมูลใหม่ หรือปล่อยให้ auto-refresh ทำงานเองเมื่อสถานะ online/offline เปลี่ยน
เจาะลึกเชิงเทคนิค: Browser เปิดเผยอะไรบ้าง
ข้อมูลทั้งหมดที่เครื่องมือแสดงล้วนมาจาก web APIs มาตรฐานแบบ read-only ที่ browser กำหนดไว้ (บาง field อาจไม่รองรับทุก browser) ไม่มีการ hack หรือวิธีนอกมาตรฐานใดๆ ทั้งสิ้น — ทุกเว็บไซต์ที่คุณเข้าอ่านข้อมูลชุดนี้ได้เหมือนกันหมด
User agent parsing — ข้อมูลชิ้นแรกและชิ้นที่รู้จักกันดีที่สุดคือ navigator.userAgent ซึ่งเป็น string ยาวๆ ที่บอก browser, เวอร์ชัน, rendering engine และ OS คร่าวๆ เครื่องมือจะ parse string นี้เพื่อระบุว่าเป็น Chrome/Firefox/Safari/Edge/Opera และ OS เป็น Windows/macOS/Linux/Android/iOS แล้วแสดงเป็น Quick Overview ที่อ่านง่าย แทนที่จะให้อ่าน string ดิบยาวๆ เอง
Navigator properties — กลุ่มข้อมูล hardware มาจาก navigator object โดยตรง:
- navigator.hardwareConcurrency — จำนวน CPU cores ตามที่ browser รับรู้ ใช้คาดเดากำลังประมวลผลของเครื่องได้
- navigator.deviceMemory — หน่วยความจำของเครื่องเป็น GB (เช่น 4, 8) browser ที่รองรับจะรายงานค่าโดยประมาณเท่านั้น
- navigator.maxTouchPoints และการตรวจ touch support — บอกได้ว่าอุปกรณ์รองรับการแตะหน้าจอหรือไม่ และรองรับกี่จุดพร้อมกัน ซึ่งช่วยแยกแยะ mobile/tablet ออกจาก desktop ที่ใช้เมาส์
Network Information API — การ์ด Connection ใช้ API นี้ทั้งหมด โดยเฉพาะ navigator.connection ที่ให้ค่า effectiveType (เช่น "4g", "3g", "2g", "slow-2g"), downlink (ความเร็วโดยประมาณเป็น Mbps), rtt (round-trip time เป็น ms) และ saveData (ผู้ใช้เปิด data saver หรือไม่) ค่าเหล่านี้เป็นเพียงค่าประมาณที่ browser คำนวณเอง ไม่ใช่ค่าจริงจาก ISP แต่แม่นยำพอที่จะใช้ออกแบบประสบการณ์การใช้งานได้
Storage และ cookies — เครื่องมือจะนับจำนวน cookies และคำนวณ localStorage usage ที่ใช้อยู่ เทียบกับโควตาพื้นฐาน 5MB ต่อ origin เพื่อให้เห็นว่ายังมีพื้นที่เหลือเท่าไร
ส่วนอื่นๆ — navigator.language และ navigator.languages บอกภาษาของ UI, navigator.cookieEnabled บอกว่าเปิดใช้ cookie หรือไม่ และ navigator.doNotTrack บอกค่าความประสงค์เรื่อง tracking ที่ผู้ใช้ตั้งไว้
ทั้งหมดนี้เป็นข้อมูลที่เว็บไซต์ใดก็ได้อ่านอยู่แล้วผ่าน JavaScript — ข้อแตกต่างเพียงอย่างเดียวคือเครื่องมือนี้ทำให้มันมองเห็นและเข้าใจง่ายขึ้น
Use cases จริง
ดีบัก bug เฉพาะ browser และ user agent
เวลาเจอ report ว่า "เว็บพังเฉพาะ Chrome บน Android" สิ่งแรกที่ต้องรู้คือ user agent และ platform จริงของเครื่องนั้น เปิดเครื่องมือนี้บนเครื่องที่มีปัญหา คัดลอกค่า user agent มาวางใน issue ก็จะได้ข้อมูลครบถ้วนที่ทีมใช้ reproduce และแก้ไขได้เลย โดยเฉพาะถ้าคุณมี User Agent Parser เอาไว้แยกส่วนประกอบของ UA string นั้นด้วยก็จะยิ่งชัดเจนขึ้น
QA และ cross-browser testing
ทีม QA ต้องทดสอบเว็บบน browser และอุปกรณ์หลากหลาย การใช้เครื่องมือนี้เป็น checklist ก่อนเริ่มเทสต์แต่ละ environment จะช่วยยืนยันได้ว่า tester กำลังรันอยู่บน environment ที่ถูกต้องจริงๆ เช่น เช็คว่า device type เป็น mobile จริงหรือไม่, touch support เปิดอยู่ไหม, หรือ RAM/CPU cores ตรงกับ spec ของเครื่องทดสอบหรือเปล่า
ความปลอดภัยและ privacy: เห็นภาพ passive fingerprinting
ข้อมูลทุกอย่างที่เครื่องมือแสดงคือสิ่งที่เว็บไซต์อื่นสามารถเก็บได้โดยที่ผู้ใช้ไม่รู้ตัว — เรียกว่า passive fingerprinting ยิ่งมีข้อมูลหลายชิ้นรวมกัน (browser + OS + screen + CPU cores + memory + ภาษา) ยิ่งทำให้ระบุตัวผู้ใช้ได้แม่นยำโดยไม่ต้องใช้ cookie เลย การเห็นข้อมูลเหล่านี้ด้วยตาตัวเองจะทำให้คุณเข้าใจว่าเว็บไซต์ที่คุณเข้าอาจรู้อะไรเกี่ยวกับคุณได้บ้าง และเป็นพื้นฐานที่ดีในการตัดสินใจเรื่องนโยบาย privacy ของผลิตภัณฑ์ของคุณเอง
ปรับปรุงเว็บสำหรับเน็ตช้าและผู้ใช้ที่เปิด data saver
ค่า effectiveType, downlink และ saveData จากการ์ด Connection ใช้เป็นข้อมูลอ้างอิงสำหรับการปรับ performance เช่น ถ้า effectiveType เป็น "slow-2g" หรือ "2g" ก็ควรเสิร์ฟภาพความละเอียดต่ำ ข้ามวิดีโอ หรือลดจำนวน script ลง และถ้า saveData: true ควรเคารพความตั้งใจของผู้ใช้ด้วยการลด payload ให้มากที่สุด หลักการเดียวกันนี้ใช้ได้กับเว็บของคุณเองผ่าน Network Information API โดยตรง
แนวทางปฏิบัติที่ดี
- ใช้ข้อมูลจากเครื่องมือเป็นจุดเริ่มต้น ไม่ใช่ความจริงสูงสุด — user agent ปลอมแปลงได้ และ device memory ก็เป็นค่าโดยประมาณ ควรใช้ประกอบการตัดสินใจร่วมกับข้อมูลอื่น
- เลี่ยง browser sniffing แบบ hardcode — แทนที่จะเช็คว่าเป็น Chrome แล้วเขียน code path แยก ควรใช้ feature detection เช่น ตรวจสอบว่า API ที่ต้องการมีอยู่จริงหรือไม่
- ใช้ hardware data ในการปรับ workload — ถ้า hardwareConcurrency หรือ deviceMemory ต่ำ ก็ลดงานหนักๆ อย่าง image processing, animation หรือการประมวลผลที่กินทรัพยากรลง
- ให้ความสำคัญกับ saveData และ effectiveType — ผู้ใช้ที่เปิด data saver หรืออยู่บนเน็ตช้าควรได้เว็บเวอร์ชันเบาโดยอัตโนมัติ
- คำนึงถึง privacy ตั้งแต่แรก — ข้อมูลพวกนี้ใช้ fingerprinting ได้ ควรแจ้งและขอ consent จากผู้ใช้ก่อนเข้าถึง เหมือนที่เครื่องมือนี้ทำอยู่แล้ว
- บันทึก environment ตอนรายงาน bug — คัดลอกข้อมูลจากเครื่องมือแนบไปกับทุก issue จะช่วยให้ทีมแก้ไขได้เร็วขึ้นมาก
สรุป
System Information Viewer เป็นเครื่องมือเล็กๆ แต่ทรงพลังสำหรับนักพัฒนาเว็บทุกคน ไม่ว่าคุณจะกำลังดีบัก bug, เตรียม environment สำหรับเทสต์, หรือแค่อยากรู้ว่าข้อมูลส่วนไหนของเครื่องคุณที่ browser เปิดเผยให้เว็บไซต์รู้ — ทุกคำตอบอยู่ในหน้าเดียว
ลองเปิด System Information Viewer แล้วสำรวจข้อมูลระบบของคุณดูสิ คุณอาจจะแปลกใจว่ามีข้อมูลมากมายแค่ไหนที่ถูกส่งออกไปในทุกครั้งที่เปิดเว็บไซต์ และเมื่อได้ภาพครบแล้ว ลองต่อด้วยเครื่องมืออื่นๆ ในชุดเดียวกันเพื่อมุมมองที่สมบูรณ์ยิ่งขึ้น
เครื่องมือที่เกี่ยวข้อง
ขอให้สนุกกับการสำรวจข้อมูลระบบ!