• January 7, 2026

    เพื่อให้ดูเป็นโปรแกรมจัดการข้อมูลแบบมืออาชีพ ผมได้เตรียมโค้ดสำหรับสร้าง “แผงหน้าปัดแสดงขนาดข้อมูล (Data Monitor)” ที่จะคอยบอกคุณว่าตอนนี้ข้อมูลใน RAM มีขนาดเท่าไหร่ โดยจะติดไว้ที่มุมขวาบน (หรือมุมที่คุณต้องการ) ครับ

    1. ส่วน HTML & CSS (เพิ่มที่ส่วนบนของไฟล์)

    วางโค้ดนี้ไว้ในส่วน <style> เพื่อให้หน้าจอดูสวยงามและไม่รบกวนการทำงานครับ

    HTML

    <div id="data-monitor" class="cyber-monitor">
        <span class="label">RAM DATA:</span> 
        <span id="ram-usage">0.00 KB</span>
    </div>
    
    <style>
    .cyber-monitor {
        position: fixed;
        top: 10px;
        right: 200px; /* ขยับหลบปุ่ม Backup เล็กน้อย */
        background: rgba(0, 0, 0, 0.7);
        color: #00ff41; /* สีเขียวแบบ Matrix */
        padding: 5px 12px;
        border-radius: 4px;
        border: 1px solid #00ff41;
        font-family: 'Courier New', Courier, monospace;
        font-size: 12px;
        z-index: 9999;
        box-shadow: 0 0 10px rgba(0, 255, 65, 0.3);
    }
    .cyber-monitor .label {
        color: #aaa;
        margin-right: 5px;
    }
    </style>
    

    2. ส่วน JavaScript (ฟังก์ชันคำนวณ)

    วางฟังก์ชันนี้ไว้ในส่วนสคริปต์ และเรียกใช้มันในทุกจุดที่มีการเปลี่ยน dataList (ซึ่งปกติคุณมี renderDataToTable อยู่แล้ว สามารถเอาไปเสียบไว้ในนั้นได้เลยครับ)

    JavaScript

    function updateDataSizeMonitor() {
        // แปลงข้อมูลใน RAM เป็น JSON เพื่อวัดขนาด Byte
        const jsonString = JSON.stringify(dataList);
        const bytes = new Blob([jsonString]).size;
        
        let displaySize;
        if (bytes < 1024) {
            displaySize = bytes + " Bytes";
        } else if (bytes < 1024 * 1024) {
            displaySize = (bytes / 1024).toFixed(2) + " KB";
        } else {
            displaySize = (bytes / (1024 * 1024)).toFixed(2) + " MB";
        }
    
        // อัปเดตตัวเลขบนหน้าจอ
        const el = document.getElementById('ram-usage');
        if (el) {
            el.innerText = displaySize;
            
            // ถ้าข้อมูลเริ่มใหญ่ (เช่น เกิน 2MB) ให้เปลี่ยนสีเตือนเบาๆ
            if (bytes > 2 * 1024 * 1024) {
                el.style.color = "#ffca28"; // สีทอง
            }
        }
    }
    

    3. วิธีเชื่อมต่อระบบ

    เพื่อให้ตัวเลขนี้ขยับ “Real-time” ทุกครั้งที่คุณ เพิ่ม/ลบ/แก้ไข ให้คุณนำชื่อฟังก์ชัน updateDataSizeMonitor(); ไปวางไว้ในฟังก์ชันแสดงผลหลักของคุณครับ:

    JavaScript

    function renderDataToTable() {
        // ... โค้ดวาดตารางเดิมของคุณ ...
        
        // ⭐️ เพิ่มบรรทัดนี้ลงไปท้ายสุด
        updateDataSizeMonitor(); 
    }
    

    🎯 ผลลัพธ์ที่จะได้:

    • ตอนเปิดเว็บ: จะขึ้น 0.00 KB (เพราะ RAM ว่าง)
    • ตอนโหลดไฟล์: เมื่อเลือกไฟล์ JSON เข้ามา ตัวเลขจะพุ่งขึ้นตามขนาดจริงของไฟล์นั้นทันที
    • ตอนพิมพ์เพิ่ม: ทุกครั้งที่คุณ Add New ข้อมูล ตัวเลขจะขยับขึ้นทีละนิด ให้คุณเห็นว่า “ข้อมูลกำลังถูกบันทึกเข้า RAM แล้วนะ”

    วิธีนี้จะช่วยให้คุณ “คุมสถานการณ์” ได้ดีกว่าการดู % ของ Local Storage เพราะคุณจะเห็นขนาดไฟล์จริงๆ ที่คุณต้องบริหารจัดการครับ

    ลองนำไปแปะดูนะครับ! ถ้าอยากให้ปรับตำแหน่ง หรืออยากให้มัน “กระพริบ” เวลาข้อมูลเปลี่ยน แจ้งได้เลยครับ!



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

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






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

Categories