【问题标题】:How to stop Webpage from coming out of fullscreen in React?如何阻止网页在 React 中全屏显示?
【发布时间】:2021-07-30 02:29:52
【问题描述】:

我正在尝试创建一个在线考试门户,在考试窗口中,我希望我的用户强制进入全屏模式,并且在考试完成之前不要退出。 我在这里使用Fullscreen API 来实现全屏。

goFullScreen = () => {
    if(document.documentElement.requestFullscreen) {
        document.documentElement.requestFullscreen();        // W3C spec
      }
      else if (document.documentElement.mozRequestFullScreen) {
        document.documentElement.mozRequestFullScreen();     // Firefox
      }
      else if (document.documentElement.webkitRequestFullscreen) {
        document.documentElement.webkitRequestFullscreen();  // Safari
      }
      else if(document.documentElement.msRequestFullscreen) {
        document.documentElement.msRequestFullscreen();      // IE/Edge
      }
}

我基本上是从 W3schools 复制代码。 我想知道如何防止他们退出全屏?我可以在“Esc”按键上返回 false,但还有其他方法。另外,我不希望他们打开开发者窗口(即控制台)。 我应该采用什么方法??

附:我正在使用 React,如果这很重要的话。

【问题讨论】:

  • 不是你可以在 Javascript 中做的事情,但是像 chrome 有一个 Kiosk 模式。退出全屏的唯一方法是 Alt-F4。这当然需要您可以访问机器,因此您可以创建快捷方式以在 Kiosk 模式下启动 Chrome。
  • 谢谢,不知道。但我想这对 chrome 来说非常特别。我需要寻找一个全球性的解决方案。无论如何,感谢您的宝贵帮助。欣赏。

标签: javascript reactjs dom-events fullscreen


【解决方案1】:

无法阻止从全屏退出,除非您制作了电子应用程序或您可以访问他们的计算机。

您想要做的事情是侵犯用户的隐私。您可以捕获esc 键,但是,您不能覆盖浏览器。您可以做一件事,抓住esc 键并esc 键被按下时结束测试

(我用的是JQuery,你也可以用vanilla JS)

if(document.fullscreenEnabled) {
    // browser is almost certainly fullscreen
    //Execute end test code here
}

如果此答案有帮助,请接受...

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-03
  • 2014-03-02
  • 2014-12-29
  • 1970-01-01
  • 1970-01-01
  • 2022-08-19
相关资源
最近更新 更多