var WebGLFullscreen = { WebGLFullscreenInject: function () { document.setFullScreenByElement = function (container, canvas, keepAspectRatio) { // set fullscreen var setFullScreen = function (element) { (element.webkitRequestFullscreen || element.requestFullscreen || element.mozRequestFullScreen || element.msRequestFullscreen).call(element) } // get fullscreen state var getFullscreen = function () { var doc = window.document; var objFullScreen = doc.fullscreenElement || doc.mozFullScreenElement || doc.webkitFullscreenElement || doc.msFullscreenElement; return (objFullScreen); } // add fullscreenchange event handle var addEventFullscreenChange = function (callback) { document.addEventListener("fullscreenchange", callback, false); document.addEventListener("webkitfullscreenchange", callback, false); document.addEventListener("mozfullscreenchange", callback, false); document.addEventListener("MSFullscreenChange", callback, false); } // remove fullscreenchange event handle var removeEventFullscreenChange = function (callback) { document.removeEventListener("fullscreenchange", callback, false); document.removeEventListener("webkitfullscreenchange", callback, false); document.removeEventListener("mozfullscreenchange", callback, false); document.removeEventListener("MSFullscreenChange", callback, false); } var beforeStyle = canvas.style; var beforeWidth = parseInt(beforeStyle.width); var beforeHeight = parseInt(beforeStyle.height); // recv fullscreen function var fullscreenFunc = function () { if (getFullscreen()) { if (keepAspectRatio) { var ratio = Math.min(window.screen.width / beforeWidth, window.screen.height / beforeHeight); var width = Math.floor(beforeWidth * ratio); var height = Math.floor(beforeHeight * ratio); canvas.style.width = width + 'px'; canvas.style.height = height + 'px';; } else { canvas.style.width = window.screen.width + 'px';; canvas.style.height = window.screen.height + 'px';; } } else { canvas.style.width = beforeWidth + 'px';; canvas.style.height = beforeHeight + 'px';; // remove this function removeEventFullscreenChange(fullscreenFunc); } } // listener fullscreen event addEventFullscreenChange(fullscreenFunc); // fullscreen setFullScreen(container) } document.setFullscreen = function (containerId, canvasId, keepAspectRatio) { var container = document.getElementById(containerId); var canvas = document.getElementById(canvasId); document.setFullScreenByElement(container, canvas, keepAspectRatio) } }, WebGLSetFullscreen: function () { var container = document.getElementById('unity-container'); var canvas = document.getElementById('unity-canvas'); var keepAspectRatio = false; document.setFullScreenByElement(container, canvas, keepAspectRatio); }, WebGLSetFullscreen2019: function () { document.makeFullscreen('unityContainer'); }, } mergeInto(LibraryManager.library, WebGLFullscreen);