防止esc退出全屏模式

时间:2014-01-22 09:39:22

标签: javascript firefox

我的网页使用以下代码转换为全屏模式。

    var element = document.getElementById("b");


    if (element.mozRequestFullScreen) {

      element.mozRequestFullScreen();
    } else if (element.webkitRequestFullScreen) {

      element.webkitRequestFullScreen();
   }

我想通过点击esc

来阻止退出全屏模式

我尝试了以下代码,但没有工作。

document.onkeydown = function (evt) {
            alert("1");
    if (evt.keyCode == 27) evt.preventDefault();
}

如果我按下逃生它首先退出全屏,然后从下一步按下上面的功能将起作用并提示“1”。

我也尝试了以下代码,但没有任何好处

  function keyUp(){
    alert("sdd");
document.querySelector("#start").addEventListener("keydown",function(e){
    var charCode = e.charCode || e.keyCode || e.which;
    if (charCode == 27){

        return false;
    }
});

}

document.onkeydown = function (e) {
        if(e.which == 27){
                return false;
        }
}

任何人都知道如何防止退出全屏模式。或者如何使用f11键以编程方式将网页转换为全屏模式?

2 个答案:

答案 0 :(得分:5)

任何符合标准的浏览器都不会(也不应该)阻止此操作。很简单,因为它会非常干扰并且会使用户感到困惑,他们希望总是有一个明确的“恐慌按钮”。逃离屏幕。

以下是api规范:
Mozilla Developer Network
W3C

答案 1 :(得分:1)

纯粹的js是不可能的。 API旨在允许用户随时退出全屏模式。

cou唯一可以尝试的是使用fullscreenchange事件来检测何时禁用全屏,然后再次启用它。 但浏览器可能会提醒用户,他总是可以禁止您的网站使用全屏。

我不鼓励你这样做。这真是一个坏主意。我可能会ragequit(并且永远不会返回)试图这样做的网站。