最近在做一个考试系统,客户要求考试页面打开后需要全屏显示,并且除本页面外不能进行其他操作,我查了一些相关资料了解到,利用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 "当前数据还没有保存,关闭、刷新或切换窗口会自动完成考试,是否继续?";
}
//窗口关闭后给出提示
window.onunload = function() {
alert("已成功提交考试!");
}
//屏蔽鼠标右键
function document.oncontextmenu()
{
event.returnValue=false;
}
//屏蔽F1帮助
function window.onhelp()
{
return false;
}
//屏蔽其他功能键
function document.onkeydown()
{
var k = window.event.keyCode;
if (k == 116)//屏蔽 F5 刷新键
{
window.event.keyCode = 0;
window.event.returnValue = false;
}
if (window.event.ctrlKey && k == 82)//Ctrl + R
window.event.returnValue= false;
if (window.event.ctrlKey && k == 78)//屏蔽Ctrl+n
window.event.returnValue = false;
if (window.event.ctrlKey && k == 87)//屏蔽Ctrl+w
window.event.returnValue = false;
if (event.shiftKey && k==121)//屏蔽 shift+F10
window.event.returnValue = false;
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
window.event.returnValue = false;//屏蔽 shift 加鼠标左键新开一网页
if (window.event.altKey && k == 115)//屏蔽Alt+F4
{
window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
return false;
}
if (window.event.altKey &&
(k == 37 || //屏蔽 Alt+方向键 ←
k == 39)) //屏蔽 Alt+ 方向键→
{
alert("不准你使用ALT+方向键前进或后退网页!");
event.returnValue=false;
}
}
</script>
<body >
<h1>考试窗口</h1>
</body>
Hello
在实现时也遇到了一些问题,比如在JSP页面中,有些IE就无法全屏显示,有可能是IE版本的问题。
分享到:
相关推荐
18. `Ctrl+Tab`:在编辑窗口间切换,加`Delete`关闭窗口。 19. `Ctrl+F12`:打开当前文件的结构概览。 20. `Ctrl+F3`:跳转到当前选中词的下一个出现位置。 21. `Ctrl+/ 或 Ctrl+Shift+/`:行内注释(单行或多行)。...
- Alt+Tab:在打开的窗口间切换。 - Alt+Esc:同样在打开的窗口间切换,但按顺序切换。 - Alt+空格键:打开窗口菜单,如最小化、最大化、关闭等选项。 - Ctrl+Esc:打开开始菜单。 - 拖动某项时按Ctrl:创建...
这个应用程序特别针对那些不希望因为切换窗口(例如通过使用Alt + Tab快捷键)而中断沉浸式体验的用户设计。在全屏游戏、工作或者学习时,用户可以快速保存喜爱的歌曲,而无需离开当前界面。 QuickSave 应用的核心...
在资源管理器中,Alt+Enter可以查看文件或文件夹的属性,Alt+F4关闭当前窗口,Alt+Tab和Alt+Esc用于在打开的应用程序之间切换。利用NUM LOCK+数字键盘的键可以方便地折叠和展开文件夹结构。 总的来说,熟练掌握这些...
- `Ctrl + Tab` / `Ctrl + Shift + Tab`:切换到下一个/上一个标签页 - `Alt + 左箭头` / `Alt + 右箭头`:返回/前进 2. **页面操作快捷键** - `F5`:刷新页面 - `Ctrl + R`:强制刷新页面,忽略缓存 - `Ctrl ...
VSCode(Visual Studio Code)是微软推出的一款轻量级但功能强大的源代码编辑器,它支持多种编程语言的语法高亮、代码补全、Git控制等功能。在Linux系统中使用VSCode时,可以通过快捷键快速执行各种操作,提高编程...
- **Ctrl+Alt+F11**:切换全屏模式,专注于编码。 - **Ctrl+Shift+F12**:最大化编辑器窗口,获得更多工作空间。 - **Alt+Shift+F**:将当前文件添加至收藏夹,方便快速访问。 - **Alt+Shift+I**:使用当前配置文件...
比如"Ctrl+Tab"可以按文件浏览过的顺序切换标签页,"Ctrl+PageDown"和"Ctrl+PageUp"可以分别向左或向右切换标签页,"Ctrl+K+B"可以开启或关闭侧边栏,而"F11"则是进入全屏模式。 通过运用这些快捷键,开发者能够...
- `Ctrl + Tab`/`Ctrl + Shift + Tab`:在标签页之间切换,按顺序或反向切换。 2. **IE11浏览器F12开发者工具导航快捷方式**: - `F12`:开启开发者工具,用于调试和优化网页。 - `Ctrl + 1`到`Ctrl + 8`:在...
键盘导航也是必要的,让用户可以通过Tab键和Enter键来触发图片切换和放大。 综上所述,实现“图片滚动、切换和点击放大”功能涉及到前端开发中的HTML结构设计、CSS样式控制、JavaScript交互逻辑以及对不同设备和...
1. **Ctrl+Tab**、**Ctrl+PageDown** 和 **Ctrl+PageUp**:用于在打开的标签之间进行切换,提供了多种切换方式以适应不同工作流。 2. **Alt+Shift+1** 至 **Alt+Shift+9**:用于调整编辑器的布局,支持多种分屏模式...
2. `Tab`(制表符):键值为9,用于在输入字段间切换或添加制表符。 3. `Enter`(回车):键值为13,用于确认输入或开始新行。 4. `Shift_L`(左Shift):键值为16,用于进行大写输入或其他组合键操作。 5. `Control...
注意:导航到另一个页面、更改选项卡或使用任何应用程序切换器(或 Alt-Tab)切换到另一个应用程序同样会退出全屏模式。 了解更多 从 <= 2.3.5 迁移 成分 一般情况下,可以简单地使用双向绑定切换全屏状态,...