JavaScript / HTML5 FullScreen API - PullRequest
       0

JavaScript / HTML5 FullScreen API

0 голосов
/ 30 ноября 2011
<div id="divbody">
    <button id="begin">Click me</button>

    <script>
        $(document).ready(function() {
            $("#begin").click(function() {
                var e = document.getElementById('divbody');
                e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
            });
            document.addEventListener("webkitfullscreenchange",function(){
                if (document.webkitIsFullScreen) {
                    //alert('a');
                    document.webkitCancelFullScreen();
                }
            }, false);
        });
    </script>
</div>

Следующий код в основном должен отменить полный экран, как только он входит. Однако приведенный выше код не работает (например, он выходит на полный экран, но не отменяет его). Однако, раскомментировав предупреждение в обработчике события webkitfullscreenchange, оно фактически отменяется.

Мне трудно понять, почему это так. Кроме того, как мне добиться того, что я пытаюсь сделать, не используя оповещение?

Спасибо.

UPDATE

Я перепробовал все комментарии, но, похоже, это не работает. Любая помощь по этому вопросу будет принята с благодарностью!

Ответы [ 2 ]

0 голосов
/ 30 ноября 2011

Попробуйте это:

window.setTimeout(document.webkitCancelFullScreen, 10);
0 голосов
/ 30 ноября 2011

Подобные вопросы, когда alert () решает проблему, всегда зависят от последовательности событий.Одно из решений, которое почти всегда работает, состоит в том, чтобы поместить нарушающий код в функцию короткого времени:

window.setTimeout(cancelFull,10);
function cancelFull() { document.webkitCancelFullScreen(); }

ОБНОВЛЕНИЕ Поместите setTimeout () вместо вашего текущего CancelFullScreen внутри слушателя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...