最近在做一个考试系统,客户要求考试页面打开后需要全屏显示,并且除本页面外不能进行其他操作,我查了一些相关资料了解到,利用Javascript并不能真正屏蔽掉ALT+TAB键,因为这是系统级快捷键,所以我使用了其他方法进行处理,当窗口失去焦点时自动触发窗口关闭事件,然后再询问用户是提交并完成考试还是取消关闭,通过这个方法初步达到了禁止用户切换窗口的操作,具体代码如下:
aaa.html
<script type="text/javascript">
var win;
function ope(){
//打开窗口,'fullscreen'控制新窗口全屏显示
win = window.open('bbb.jsp','www_loveme_lingd_net','fullscreen');
}
</script>
<input type="BUTTON" name="FullScreen" value="全屏显示" onClick="ope()">
bbb.html
<script type="text/javascript">
//失去焦点后调用的函数
function c(){
window.close();
}
//为窗口注册失去焦点事件
window.onblur = c;
//当关闭窗口时提示是否提交考试
window.onbeforeunload = function() {
return "当前数据还没有保存,关闭、刷新