考试防刷新、切屏效果实现

本文介绍了在线考试模块中防止学生刷新、切屏或改变窗口大小的需求及实现方法。通过弹出窗口防止刷新,监听键盘和窗口事件来阻止切屏,以及禁止窗口大小改变,以确保考试的公平性。
摘要由CSDN通过智能技术生成

情景

       在线考试模块这样一个需求: 避免学生用电脑查答案, 需要系统防止刷新、切屏或改变窗口大小,当达到次数后自动交卷。

实现

 1,仿刷新。

    因为浏览器都自带了刷新返回等按钮,因此只想到了弹出窗口的形式。

/*
* @param url 考试界面的链接
* @param name 新窗口的名称,没有可填空
* 属性menubar=no 新窗口隐藏菜单栏,防刷新即基本实现
*/
window.open( url, name, "menubar=no" ) 

没那么完美,鼠标点刷新按钮是实现了,但键盘快捷键的刷新未处理。接下来在防止切屏内一并处理。

 

2,防止切屏。 

         主要思路是屏蔽键盘快捷键和鼠标切换。

      2.1,屏蔽切换组合键如下:

function stopShortCutKey() {               //屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键  
  if ( (window.event.altKey) && ((window.event.keyCode == 37) ||   (window.event.keyCode == 39) ) ) { 
    alert("不准你使用ALT&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值