Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ตั้งค่า Iframe ให้เต็มหน้าจอ (Fullscreen) ด้วย JavaScript

สามารถทำให้ Iframe ขยายเต็มหน้าจอได้โดยการเปลี่ยน Class CSS ให้มีขนาด 100vw x 100vh หรือใช้ Fullscreen API อย่างเป็นทางการ

วิธีที่ 1: เปลี่ยน Class CSS (Simple)

<!DOCTYPE html>
<html lang="th">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Fullscreen Iframe</title>
    <style>
        body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
        .result { font-weight: 500; font-size: 18px; color: blueviolet; }
        .frame { 
            width: 300px; 
            height: 200px; 
            border: 2px solid #ccc;
            transition: all 0.3s ease;
        }
        .fullScreen { 
            width: 100vw; 
            height: 100vh; 
            position: fixed; 
            top: 0; 
            left: 0; 
            z-index: 9999;
            border: none;
        }
        button { padding: 8px 16px; margin: 15px 0; cursor: pointer; }
    </style>
</head>
<body>
    <h1>ตั้งค่า Iframe ให้เต็มหน้าจอ</h1>
    <iframe class="frame" src="https://www.wikipedia.org" width="300" height="200"></iframe>
    <button class="Btn">Toggle Fullscreen</button>
    <h3>กดปุ่มด้านบนเพื่อสลับโหมดเต็มหน้าจอของ Iframe</h3>

    <script>
        let BtnEle = document.querySelector(".Btn");
        let frameEle = document.querySelector(".frame");
        let isFullscreen = false;
        
        BtnEle.addEventListener("click", () => {
            isFullscreen = !isFullscreen;
            frameEle.className = isFullscreen ? "frame fullScreen" : "frame";
            BtnEle.textContent = isFullscreen ? "Exit Fullscreen" : "Fullscreen";
        });
    </script>
</body>
</html>

วิธีที่ 2: Fullscreen API (มาตรฐาน Browser)

<!DOCTYPE html>
<html lang="th">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Fullscreen API</title>
    <style>
        body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
        .result { font-weight: 500; font-size: 18px; color: blueviolet; }
        iframe { width: 300px; height: 200px; border: 2px solid #ccc; }
        button { padding: 8px 16px; margin: 15px 0; cursor: pointer; }
    </style>
</head>
<body>
    <h1>Fullscreen API สำหรับ Iframe</h1>
    <iframe id="myFrame" src="https://www.wikipedia.org" allowfullscreen></iframe>
    <br><br>
    <button id="fsBtn">เข้าสู่โหมดเต็มหน้าจอ</button>
    <div class="result" id="status"></div>

    <script>
        const frame = document.getElementById("myFrame");
        const btn = document.getElementById("fsBtn");
        const status = document.getElementById("status");
        
        // ต้องมี attribute allowfullscreen ใน iframe
        //