0

I have the following request_fullscreen which works:

    const request_fullscreen = function() {

        const elm = document.documentElement;

        const method = elm.requestFullScreen || 
                            elm.webkitRequestFullScreen || 
                            elm.mozRequestFullScreen || 
                            elm.msRequestFullScreen;

        method.call(elm);
    }

This does not work:

    const exit_fullscreen = function() {

        const method = document.exitFullscreen ||
                       document.webkitCancelFullScreen ||
                       document.mozCancelFullScreen ||
                       document.msExitFullscreen;

        method.call();
    }

While this works:

    const exit_fullscreen = function() {

        if (document.exitFullscreen) {
             document.exitFullscreen();
        }
        else if (document.mozCancelFullScreen) {
            document.mozCancelFullScreen();
        }
        else if (document.webkitCancelFullScreen) {
            document.webkitCancelFullScreen();
        }
        else if (document.msExitFullscreen) {
            document.msExitFullscreen();
        }
    }

Why does the one where I or them together not work?

clankill3r
  • 9,146
  • 20
  • 70
  • 126
  • 2
    Did you try `method.call(document);` ? – blex Jan 23 '21 at 11:14
  • In order to understand why the first exit_fullscreen doe not work, take a look at this: https://stackoverflow.com/questions/1007340/javascript-function-aliasing-doesnt-seem-to-work – Maned Wolf Jan 23 '21 at 13:51

0 Answers0