From 8fc141c0cb3caa5cdd364a8c4279be4550ad3362 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Jockusch?= Date: Fri, 3 May 2019 14:12:08 +0200 Subject: [PATCH] First attempt to make the fullscreen button work inside an iframe. --- app/ui.js | 46 ++++++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/app/ui.js b/app/ui.js index 17ec48d4..31311a34 100644 --- a/app/ui.js +++ b/app/ui.js @@ -1172,24 +1172,38 @@ const UI = { document.mozFullScreenElement || // currently working methods document.webkitFullscreenElement || document.msFullscreenElement) { - if (document.exitFullscreen) { - document.exitFullscreen(); - } else if (document.mozCancelFullScreen) { - document.mozCancelFullScreen(); - } else if (document.webkitExitFullscreen) { - document.webkitExitFullscreen(); - } else if (document.msExitFullscreen) { - document.msExitFullscreen(); + var doc = document; + if (window.parent != window) { + var iframeid = WebUtil.getQueryVar('iframeid', null); + if (iframeid) { + doc = window.parent.document.getElementById(iframeid); + } + } + if (doc.exitFullscreen) { + doc.exitFullscreen(); + } else if (doc.mozCancelFullScreen) { + doc.mozCancelFullScreen(); + } else if (doc.webkitExitFullscreen) { + doc.webkitExitFullscreen(); + } else if (doc.msExitFullscreen) { + doc.msExitFullscreen(); } } else { - if (document.documentElement.requestFullscreen) { - document.documentElement.requestFullscreen(); - } else if (document.documentElement.mozRequestFullScreen) { - document.documentElement.mozRequestFullScreen(); - } else if (document.documentElement.webkitRequestFullscreen) { - document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else if (document.body.msRequestFullscreen) { - document.body.msRequestFullscreen(); + var doc = document.documentElement; + if (window.parent != window) { + var iframeid = WebUtil.getQueryVar('iframeid', null); + if (iframeid) { + doc = window.parent.document.getElementById(iframeid); + } + } + if (doc.requestFullscreen) { + doc.requestFullscreen(); + } else if (doc.mozRequestFullScreen) { + doc.mozRequestFullScreen(); + } else if (doc.webkitRequestFullscreen) { + doc.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else if (doc.body.msRequestFullscreen) { + doc.body.msRequestFullscreen(); } } UI.updateFullscreenButton();