javascript - 按键时使用 Javascript 进入和退出浏览器全屏 View

标签 javascript

我想在用户按下 f 键时全屏显示一个元素。

我的 HTML

<div id="test">
   hello
</div>

我的JS

// go fullscreen when pressing 'f' (key 70)
document.onkeydown = function(e){
    e = e || window.event;
    var key = e.which || e.keyCode;
    if(key===70){
        requestFullScreen(
            document.getElementById("test")
        );
    }
};

function requestFullScreen(elt) {
    console.log("Requesting fullscreen for", elt);
    if (elt.requestFullscreen) {
        elt.requestFullscreen();
    } else if (elt.msRequestFullscreen) {
        elt.msRequestFullscreen();
    } else if (elt.mozRequestFullScreen) {
        elt.mozRequestFullScreen();
    } else if (elt.webkitRequestFullscreen) {
        elt.webkitRequestFullscreen();
    } else {
        console.error("Fullscreen not available");
    }
}

JSFiddle

全屏打开元素正常。 我的问题:当用户在全屏打开时按“f”时如何关闭全屏?我想我需要测试当前 View 是否全屏,并根据结果使按键事件表现不同。怎么样?

最佳答案

您可以使用 bool 值document.fullscreen检查文档是否处于全屏模式。要退出全屏,请使用 document.exitFullscreen()

在 Chrome 中工作的 Fiddle:https://jsfiddle.net/weft_digital/wrd4yo5s/1/

document.onkeydown = function(e){
  e = e || window.event;
  var key = e.which || e.keyCode;
  if(key===70){
       if(!document.fullscreenElement){
            requestFullScreen(document.getElementById("test"));
        }else{
            document.exitFullscreen()
        }
    }
};

关于javascript - 按键时使用 Javascript 进入和退出浏览器全屏 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56380768/

相关文章:

javascript - 更改背景图像时将键盘焦点保留在文本字段上

javascript - 一个 "safe place"来评估 Javascript 中的受信任代码(具有特定上下文)? [编辑: how can you break it?]

javascript - TOMCAT 向请求添加参数时返回 400 (bad request)

javascript - Material UI v1 中选择组件中的错误

javascript - 响应式设计将带有 css 类的 html div 内容切换到 div

javascript - 如何在 ng-repeat (AngularJS) 中绑定(bind)多个 JSON 文件?

javascript - Jquery 使用多个文本框、文本框数组

javascript - jQuery UI 对话框在打开时不遵守位置选项

javascript - 使用javascript的按钮值

java - 如何将 javascript 文件捆绑到 Java 应用程序中?