我正在为在线MCQS考试开发React应用程序。我想限制用户在完成考试或时间过去之前不要离开考试屏幕。 我使用React Full-screen组件进行全屏显示,但是在按esc按钮时会离开全屏显示。 是否有其他方法可以实现全屏而不是全屏API。 或通过其他任何方式来限制在线考试的进行。 我还想处理一些组合键,例如Alt + F4,Ctrl + Shift + Tab。
我已将事件处理程序用于esc按钮的keyDown。但在全屏关闭后会触发。 我也为F4和所有键盘键使用了事件处理程序。但是Alt + F4会关闭浏览器。
答案 0 :(得分:3)
我认为不可能强制网站(或Web应用程序)在全屏模式下无限期停留。原因很简单:用户安全。正如克雷格·巴克勒(Craig Buckler)解释的in this blog post:
如果您可以强制应用程序全屏运行,则用户将丢失其浏览器,任务栏和标准操作系统控件。他们可能无法关闭窗口,或者更糟的是,邪恶的开发人员可能会模仿操作系统并诱使用户交出密码,信用卡详细信息等。
我猜唯一的可能是将特定计算机上的Web浏览器配置为始终以全屏模式运行特定页面。但是我想这将需要管理员权限,并且可能并非所有浏览器都为此具有标志或配置选项。
编辑:另一种选择是创建一个独立的可执行文件,该文件以全屏模式打开一个预配置的浏览器实例。例如,查看台式机的Electron或移动设备的Cordova。但是请注意,如果您以前从未使用过其中一种工具,那么与仅对Web应用程序本身进行编程相比,这可能需要花费更多的时间来构建和部署。