Подтвердить что ты не робот

Как выйти из полноэкранного веб-приложения

Мы пытаемся запустить наше веб-приложение в полноэкранном веб-приложении. Я получил это, чтобы работать, используя эти метатеги:

    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="default">
    <meta name="apple-mobile-web-app-title" content="Full Screen">

Итак, теперь, когда вы запускаете веб-приложение со своего домашнего экрана на iPhone или Android-устройствах, он запускается в полноэкранном режиме (без элементов управления браузером).

Теперь нам нужен способ, чтобы пользователь мог выйти, я надеялся создать меню, в котором была кнопка выхода, но с помощью window.close() дает мне следующую ошибку в chrome:

Scripts may close only the windows that were opened by it.

Каким будет правильный способ справиться с этим?

4b9b3361

Ответ 1

Один из способов закрыть полноэкранный режим - использовать следующий script:

 function exitFullScreen(element) { 
        var requestMethod = element.exitFullscreen ||
                                                  element.mozCancelFullScreen || 
                                                  element.webkitExitFullscreen || 
                                                  element.msExitFullscreen; 
         if (requestMethod) { 
               requestMethod.call(element); 
         } else { 
               console.log("Oops. Request method false."); 
          } 
     }

И затем назовите это так:

       var $smallscreenButton = $("#smallscreen-button"); 
       $smallscreenButton.on("click", function() { 
                    var elem = document;
                    exitFullScreen(elem); 
        });

Ошибка, которую вы поэтапно применили к window.close(), заключается в том, что вы должны открыть окно внутри одного и того же javascript с помощью window.open(), а затем оно должно быть правильно закрыто. Вы просто не можете закрыть случайные окна с помощью javascript, поэтому вы не можете позвонить близко, не открывая сначала.

Итак, sth like:

 var myWindow = window.open();
 myWindow.close(); // this works.

Источники:

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

[2] window.close() не работает - скрипты могут закрывать только открытые им окна

Ответ 2

Вот хороший учебник по Как пользовательский HTML5 fullscreen api

Из этого, чтобы выйти из полноэкранного режима:

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

Вы можете написать вышеуказанный код в любом методе щелчка элемента DOM, например, используя jquery:

$("#exitFullScreen").click(function(){
    // the above code
        if (document.exitFullscreen) {
        document.exitFullscreen();
    } else if (document.webkitExitFullscreen) {
        document.webkitExitFullscreen();
    } else if (document.mozCancelFullScreen) {
        document.mozCancelFullScreen();
    } else if (document.msExitFullscreen) {
        document.msExitFullscreen();
    }
});

Другие ссылки: