Javascript 如何限制用户在线考试时不离开考试窗口?

Javascript 如何限制用户在线考试时不离开考试窗口?,javascript,reactjs,Javascript,Reactjs,我正在为在线MCQS考试开发React应用程序。我想限制用户在完成考试或时间结束之前不要离开考试屏幕。 我使用React全屏组件进行全屏显示,但按下esc按钮后,它将离开全屏。 除了全屏API,还有其他方法可以实现全屏API吗。 或以任何其他方式实施对在线考试进行的限制。 我还想处理一些组合键,如Alt+F4、Ctrl+Shift+Tab 我已经使用事件处理程序来处理esc按钮的keyDown。但它会在全屏关闭后触发。 我还为F4和所有键盘键使用了事件处理程序。但是Alt+F4关闭浏览器。我认为

我正在为在线MCQS考试开发React应用程序。我想限制用户在完成考试或时间结束之前不要离开考试屏幕。 我使用React全屏组件进行全屏显示,但按下esc按钮后,它将离开全屏。 除了全屏API,还有其他方法可以实现全屏API吗。 或以任何其他方式实施对在线考试进行的限制。 我还想处理一些组合键,如Alt+F4、Ctrl+Shift+Tab

我已经使用事件处理程序来处理esc按钮的keyDown。但它会在全屏关闭后触发。
我还为F4和所有键盘键使用了事件处理程序。但是Alt+F4关闭浏览器。

我认为不可能强制网站(或web应用程序)在全屏模式下无限期地停留。原因很简单:用户安全。正如Craig Buckler所解释的:

如果您可以强制应用程序全屏运行,则用户将丢失其浏览器、任务栏和标准操作系统控件。他们可能无法关闭窗口,或者更糟糕的是,邪恶的开发人员可能会模仿操作系统,欺骗用户交出密码、信用卡详细信息等

我想唯一的可能是在特定计算机上配置web浏览器,使其始终以全屏模式运行特定页面。但我想这需要管理员权限,而且可能不是所有浏览器都有相应的标志或配置选项



编辑:另一个选项是创建一个独立的可执行文件,以全屏模式打开预先配置的浏览器实例。例如,看看桌面或移动设备。但是请注意,如果您以前从未使用过这些工具,那么构建和部署web应用程序可能需要比编写web应用程序本身更多的时间。

恐怕您不能这样做,因为您的应用程序是在浏览器中运行的。您是对的,如果发生这种情况,将会非常危险,很多人会一直使用它