当前位置: 首页 > 面试题库 >

如何检测页面何时退出全屏显示?

戴化
2023-03-14
问题内容

我正在使用Three.js创建3D多人游戏,玩家可以在其中加入各种现有游戏。单击“播放”后,渲染器将附加到页面和全屏。这很好用,但是问题是,当我退出全屏显示时,它仍然保持附加状态。我想删除它,但是我不知道什么时候!

因此,基本上,我正在寻找一个事件,该事件说“此元素退出全屏显示”。

这是将渲染器附加到页面的方法:

container = document.getElementById('container');
document.body.appendChild(container);

var renderer = new THREE.WebGLRenderer({antialias: true});
renderer.setSize( WIDTH, HEIGHT);
container.appendChild( renderer.domElement );

如果我如何全屏显示:

THREEx.FullScreen.request(container); 
renderer.setSize(screen.width, screen.height);

此外,是否有办法阻止有人将鼠标指向页面顶部时出现该烦人的标题?而且,我想我可以防止Escape在Firefox和Chrome中执行其操作(退出全屏显示)preventDefault吗?

编辑:

确实触发了“ fullscreenchange”事件,但是在不同的浏览器下它具有不同的名称。例如,在Chrome上称为“
webkitfullscreenchange”,在Firefox上则称为“ mozfullscreenchange”。


问题答案:

全屏规范指定"fullscreenchange"每当页面的全屏状态发生变化(包括进入和退出全屏)时,都会在文档上触发(带有适当的前缀)事件。在该事件内,您可以检查document.fullScreenElement页面是否全屏显示。如果全屏显示该属性,则该属性将为非null。

查看MDN了解更多详细信息。

至于您的其他问题:不,没有办法阻止Esc退出全屏模式。这是确保用户始终对其浏览器的操作具有控制权的折衷方案。浏览器 永远不会
为您提供防止用户退出全屏模式的方法。期。

至于Firefox的渲染速度比Chrome慢,我可以向您保证,实际上并不是这样。如果您发现两种浏览器之间的性能差异很大,则可能意味着您的JavaScript代码是瓶颈,而不是GPU。



 类似资料:
  • 本文向大家介绍js如何检测当前页面是否以全屏模式显示?相关面试题,主要包含被问及js如何检测当前页面是否以全屏模式显示?时的应答技巧和注意事项,需要的朋友参考一下 if (window.document.body.clientWidth === window.screen.width){ alert('全屏显示'+window.screenLeft) }

  • 本文向大家介绍HTML5如何监听video的全屏和退出全屏?相关面试题,主要包含被问及HTML5如何监听video的全屏和退出全屏?时的应答技巧和注意事项,需要的朋友参考一下 监听fullscreenchange事件

  • 如何更改全屏窗口的场景并避免显示“按ESC退出全屏”消息? 我正在构建全屏桌面应用程序(触摸屏亭),所以我可以在开始时显示此消息,但现在总是当用户改变场景。 有两个问题: > 在全屏模式下更改场景时,窗口大小将减小。解决方案是切换全屏,但会显示该消息。(在全屏JavaFX中更改场景) “按ESC…”由于安全原因,无法禁用消息(https://forums.oracle.com/forums/thr

  • 有可用的组合键方法如下: 是否有任何方法可以捕获鼠标点击或触摸屏亭的任何组合以退出全屏锁定?

  • 我想在按下ESC退出全屏模式后,使功能返回到全屏模式。 有什么方法可以返回到全屏吗? 例如,为了执行全屏模式,我使用了如下方法 在后台,当我按ESC键时,后台退出到全屏。在此处输入图像描述 在此处输入图像描述 然后在这个阶段,我想希望回到全面屏模式。

  • 没有按钮, 是要退出客户操作的F11全屏, 我要退出