attempt-fullscreen.html (1335B)
1 <!DOCTYPE html> 2 <meta charset="utf-8" /> 3 <title>IFrame Fullscreen API success reporter</title> 4 <body></body> 5 <script> 6 window.addEventListener("message", async (e) => { 7 switch (e.data.action) { 8 case "report": 9 await sendReport(); 10 break; 11 default: 12 parent.postMessage( 13 { 14 report: { 15 api: "fullscreen", 16 result: `Unknown action ${e.data.action}`, 17 frame: window.name, 18 }, 19 }, 20 "*" 21 ); 22 } 23 }); 24 25 async function sendReport() { 26 let didSucceed = true; 27 let error; 28 let errorMessage; 29 try { 30 await document.body.requestFullscreen(); 31 } catch (e) { 32 didSucceed = false; 33 error = e.name; 34 errorMessage = e.message; 35 } finally { 36 const data = { 37 report: { 38 api: "fullscreen", 39 result: didSucceed, 40 frame: window.name, 41 error, 42 errorMessage, 43 }, 44 }; 45 parent.postMessage(data, "*"); 46 } 47 } 48 </script>