簡體   English   中英

JavaScript / HTML5全屏API

[英]JavaScript/HTML5 FullScreen API

<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事件處理程序中的警報,它實際上可以取消。

我很難理解為什么會這樣。 另外,如何在不使用警報的情況下實現我要執行的操作?

謝謝。

更新

我已經嘗試了所有評論,但似乎沒有用。 任何幫助,將不勝感激!

諸如alert()解決問題的問題總是與事件順序有關。 幾乎總是可行的一種解決方案是將有問題的代碼放在較短的計時函數中:

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

UPDATE將setTimeout()放在偵聽器中,以替換當前的CancelFullScreen。

嘗試這個:

window.setTimeout(document.webkitCancelFullScreen, 10);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM