浏览器永久全屏

Permanent Full Screen in Browser

我正在尝试为学生创建一个简单的测验 Web 应用程序。除了测验问题,他们不应该能够访问计算机上的任何内容。

所以我找到了一些像here这样的方法来让浏览器全屏。然而,这并不能阻止他们按 Esc 键或 F11 退出全屏模式,或者他们可以按 windows 键调出 windows 菜单(因此可以访问计算机中的其他程序)。

有什么方法可以永久保持全屏模式并仅使用管理员密码之一退出(就像 TOEFL iBT 考试一样)。是否可以通过浏览器实现,或者我应该为该任务编写一个完整的本地程序?

您可以在 "kiosk mode" 中启动某些浏览器,这些浏览器旨在用于 运行 无人值守亭上的全屏应用程序。

基于本教程http://lifehacker.com/use-chromes-kiosk-mode-to-limit-someones-access-to-yo-1243433249

  • 打开 Chrome 的设置。
  • 在 "Users" 下单击 "Add new user."
  • 为新个人资料命名和图片。确保选中 "Create a desktop shortcut for this user"。单击 "Create."
  • Right-click newly-created 快捷方式和 select "Properties."
  • 在 "Target" 字段中,将“--kiosk”(无引号)添加到末尾。
  • 点击"Apply."

这会使浏览器进入全屏模式并显着减少您退出浏览器的方式,但这并不完美;例如,Alt+F4 将关闭浏览器 Windows。

您可以编写一个脚本来捕获按键并丢弃任何按 Alt 或功能键的按键,但这相当脆弱,可能会影响实际键入的能力在答案中。

解决此问题的唯一其他方法是不提供硬件键盘。将测验构建为仅使用鼠标或触摸等定点设备。如果您需要键盘,请考虑提供带有有限键组的 on-screen 键盘。

function checkWH(){
    if((window.outerWidth-screen.width) ==0 && (window.outerHeight-screen.height) ==0 )
    {
        alert('fullscreen');
    }
}

$(window).keypress(function(event){
    var code = event.keyCode || event.which;
    if(code == 122){
        setTimeout(function(){checkWH();},1000);
    }
});

我想你可以用这样的东西。