Как мы можем программно входить и выходить из полноэкранного режима в javascript?

вот документация по выходу из полноэкранного режима.

я использовал этот код, который я узнал, чтобы сделать браузер полноэкранным (он работает), но мои попытки изменить его версию для выхода из полноэкранного режима не удалось. Работа с этими нестандартными API немного сложнее, с каждым браузером, реализующим его немного по-разному.

вот код:

// Bring the page into full-screen mode - Works!
function requestFullScreen(element) {

    // Supports most browsers and their versions.
    var requestMethod = element.requestFullScreen || 
        element.webkitRequestFullScreen           || 
        element.mozRequestFullScreen              || 
        element.msRequestFullScreen;
    if (requestMethod) {
        requestMethod.call(element);
    } else if ( typeof window.ActiveXObject !== "undefined") {
        var wscript = new ActiveXObject("WScript.Shell");
        if (wscript !== null) {
            wscript.SendKeys("{F11}");
        }
    }
}

// Exit fullscreen - Doesn't work!
function exitFullScreen(element){
    var requestMethod = element.exitFullscreen || 
        element.mozCancelFullScreen            || 
        element.webkitExitFullscreen           || 
        element.msExitFullscreen;
    if (requestMethod) {
        requestMethod();
    } else {
        console.log("Oops. Request method false.");
    }
}

и звонок:

var $fullscreenButton = $("#fullscreen-button");
var $smallscreenButton = $("#smallscreen-button");

$fullscreenButton.on("click", function() {
    var elem = document.body;

    // Make the body go full screen.
    requestFullScreen(elem);
});

$smallscreenButton.on("click", function() {
    var elem = document.body;

    // Exit full screen.
    exitFullScreen(elem);
});

Что случилось с exitFullScreen функции? Как я могу это исправить?

Edit:

  • я работаю над JSFiddle для этого!
  • "не работает", я имел в виду, что он выводит "Oops. Request method false."
  • я вызываю функцию exitFullScreen() с параметром document.body

JSFiddle:

в то время как функция полноэкранного запроса работает для меня в браузере обычно, я не мог заставить его работать в JSFiddle, и я не уверен, что это из-за моя собственная ошибка или что-то связанное с JSFiddle.

1 ответов


для входа в полноэкранный были некоторые проблемы с капитализацией.

для выхода вам нужно вызвать его на document, а не body, и Вам также нужно правильно применить его вместо вызова ссылки на метод..

так requestMethod.call(element); для выхода, а также.

см. демонстрацию в http://jsfiddle.net/gaby/FGX72/show
(протестировано на последнем IE / Chrome / FireFox)