雨课堂网页版默认启用窗口焦点监测与后台日志记录,任何切屏行为均会被实时捕获并上传至服务端;仅当教师启用“实时截图”或“禁止切屏”选项时,才额外触发截图或强制锁定功能。

如果您正在使用雨课堂网页版参加考试,但不确定切屏行为是否会被系统捕捉,则需明确:雨课堂网页版默认启用窗口焦点监测与后台日志记录机制,任何离开考试页面的操作均可能被实时捕获。以下是该监控机制的具体实现方式:
一、窗口焦点变化实时监测
雨课堂前端通过监听 document.visibilityState 和 window.onblur 事件,持续判断考试页面是否处于浏览器前台激活状态。当用户使用 Alt+Tab(Windows)或 Command+Tab(macOS)切换应用,或点击其他标签页、桌面程序时,页面失去焦点即触发离屏事件,并向服务端发送带时间戳的离屏信号。
1、考试开始后,雨课堂自动在浏览器中注册 visibilitychange 监听器。
2、当 document.hidden 属性变为 true,前端立即封装事件包,包含设备类型、浏览器 User-Agent、本地时间戳及会话 ID。
3、该事件包经 HTTPS 加密上传至雨课堂服务端,写入考生专属考试会话日志。
4、日志条目与学号、课程 ID、IP 地址三者绑定,不可篡改且无法本地清除。
二、定时屏幕截图抓取
截图功能非默认开启,仅当教师在创建考试时主动勾选“启用实时截图”,系统才会调用 MediaRecorder API 每隔设定周期捕获当前浏览器标签页可视区域图像。该图像不包含操作系统任务栏、其他窗口内容,但能清晰反映考生是否正在浏览非考试页面。
1、教师进入考试创建流程,在“防作弊设置”面板展开“屏幕监控”选项组。
2、勾选“启用实时截图”复选框。
3、从下拉菜单中选择截图间隔:可选 10秒、30秒或60秒。
4、保存配置后,考生端页面右上角将出现 红色摄像机图标,表示截图功能已激活。
三、后台进程行为日志分析
雨课堂不依赖本地安装插件,但通过标准 Web API 获取浏览器上下文信息,包括页面可见性、标签页活跃状态、导航历史变更等。所有操作行为均生成结构化日志,上传至云端服务器进行聚合分析,用于识别异常模式,例如高频窗口切换、长时间离屏、多标签页并行打开等。
1、系统每 5 秒采集一次页面 visibilityState 状态值,并记录变化时刻。
2、对 window.focus / window.blur 事件做去重合并,避免因鼠标快速划过导致的误判。
3、将每次离屏时长、累计离屏次数、离屏前后 DOM 快照摘要打包为异常行为单元。
4、该单元与考试 ID 绑定存储于服务端,供教师在监考详情页中按时间轴回溯查看。
四、教师端异常行为可视化呈现
教师登录雨课堂管理后台后,可在“监考详情”页中直接查阅每名考生的切屏记录。系统以结构化列表形式展示全部离屏事件,并支持逐条展开查看上下文快照,确保判定依据可验证、可追溯。
1、教师进入“考试管理”,定位至目标课程下的具体考试名称。
2、点击右侧“监考详情”按钮,跳转至实时监考数据看板。
3、在“异常行为记录”区域,可见每名考生的 切屏次数、首次切屏时间、最长离屏时长。
4、点击单条记录旁的“查看详情”,可查看该时刻前后 5 秒内的 DOM 快照及键盘输入状态摘要。
五、考试界面强制锁定策略
当教师启用“在线监考”模式并勾选“禁止切屏”选项时,系统会在前端注入全屏锁定脚本,限制考生退出考试标签页或最小化浏览器窗口。该策略结合浏览器原生 Fullscreen API 与 focus 锁定逻辑,对常见切屏操作形成双重拦截。
1、考生尝试按下 F11 进入全屏时,系统自动接管并维持考试页面独占视图。
2、当检测到窗口被最小化或失去焦点,页面自动执行 window.focus() 并弹出提示层。
3、若考生连续 3 次在 60 秒内触发离屏事件,系统将 自动锁定答题界面并禁用所有交互控件。
4、锁定状态下,仅允许点击“申诉”按钮提交异常反馈,其余操作均被屏蔽。











