• January 7, 2026

    หากเราใช้ Local Storage เป็นตัวผ่านข้อมูล ไฟล์ JSON ของเราก็จะถูกจำกัดไว้ที่ประมาณ 5MB – 10MB โดยปริยาย เพราะถ้าข้อมูลในหน้าจอใหญ่กว่านั้น มันจะสั่ง setItem (บันทึก) ลง Browser ไม่เข้า และโปรแกรมก็จะค้างหรือ Error ทันทีครับ


    💡 ถ้าอยากไปให้ไกลกว่า 5MB โดยยังเป็น JSON อยู่ ต้องทำอย่างไร?

    หากในอนาคตข้อมูลคุณเยอะจนทะลุ 5MB (ซึ่งน่าจะหลายหมื่นหรือแสนแถว) เราต้องเปลี่ยนวิธีคิดจากการ “Auto-Save ลง Browser” เป็นการ “ทำงานบนหน่วยความจำ (RAM) แล้ว Save ลงไฟล์ตรงๆ” ครับ

    นี่คือ 2 แนวทางที่คุณสามารถเลือกใช้ได้ในอนาคต:

    1. ระบบ “ทำงานสด” (In-Memory Processing)

    วิธีนี้คือการตัดวงจร Local Storage ออกไปเลยครับ:

    • การโหลด: คุณกดปุ่ม Upload ไฟล์ JSON เข้ามา ข้อมูลจะวิ่งเข้าไปอยู่ในตัวแปร dataList ใน RAM ของคอมพิวเตอร์ (ซึ่ง RAM มีความจุเยอะมาก 8GB/16GB รับ JSON ขนาด 100MB ได้สบายๆ)
    • การบันทึก: คุณไม่ต้องสั่ง saveDataToLocalStorage() ทุกครั้งที่แก้ แต่ให้คุณกดปุ่ม “Save/Download JSON” เพื่อเขียนไฟล์ทับลงในเครื่องคอมพิวเตอร์แทน
    • สรุป: Browser จะทำหน้าที่เป็นแค่ “เครื่องคิดเลข” หรือ “หน้ากาก” ส่วนไฟล์ JSON คือ “สมุดจด” ที่แท้จริง

    2. ใช้เทคโนโลยี File System Access API (ล้ำที่สุด)

    อันนี้คือวิธีที่ทำให้เว็บแอปฯ ทำงานเหมือนโปรแกรมคอมพิวเตอร์จริงๆ (เช่น Word/Excel):

    • โปรแกรมจะขออนุญาตคุณเพื่อ “เชื่อมต่อกับไฟล์ในเครื่อง” โดยตรง
    • เมื่อคุณแก้ไขข้อมูลในหน้าเว็บ มันจะแอบไปแก้ข้อมูลในไฟล์ .json ที่อยู่ในเครื่องคุณให้ทันทีโดยไม่ต้องกดโหลดใหม่
    • ข้อดี: ไม่ผ่าน Local Storage เลย จึงไม่มีขีดจำกัด 5MB และไม่ต้องกด Download บ่อยๆ
    • ข้อเสีย: ปัจจุบันรองรับได้ดีที่สุดบน Chrome และ Edge เท่านั้น (Safari/Firefox ยังมีข้อจำกัด)

    🛡️ คำแนะนำสำหรับปัจจุบัน (เพื่อเตรียมตัว)

    ตราบใดที่ไฟล์คุณยังไม่ถึง 5MB (คุณสามารถเช็คได้จากขนาดไฟล์ JSON ที่โหลดออกมา) ระบบที่คุณมีอยู่ตอนนี้ “ปลอดภัยและใช้ง่ายที่สุด” ครับ

    แต่ถ้าวันไหนไฟล์เริ่มใหญ่เข้าใกล้ 5MB คุณสามารถปรับโค้ดเพียงเล็กน้อยเพื่อข้ามขีดจำกัดนี้ได้:

    1. ปิดระบบ saveDataToLocalStorage() (เพื่อไม่ให้ Browser บล็อกการทำงาน)
    2. เปลี่ยนมาเน้นระบบ “ปุ่มสีทอง” ที่เราทำไว้ ให้คนใช้รู้ตัวว่าต้องกด Download ทุกครั้งก่อนปิดหน้าจอ เพื่อให้ไฟล์ JSON ในเครื่องเป็นเวอร์ชันล่าสุด

    สรุปคือ: ใช่ครับ ถ้าจะให้ไฟล์ใหญ่กว่า 5MB เราต้องเลิกฝากความจำไว้ที่ Local Storage แล้วหันมาใช้ระบบ “อ่าน-เขียนไฟล์” โดยตรงแทน ซึ่งโค้ดส่วนใหญ่ที่คุณมีอยู่ตอนนี้รองรับการข้ามไปใช้วิธีนั้นได้ไม่ยากครับ



เวอไนน์ไอคอร์ส

ประหยัดเวลากว่า 100 เท่า!






เวอไนน์เว็บไซต์⚡️
สร้างเว็บไซต์ ดูแลเว็บไซต์

Categories