`
bolan392
  • 浏览: 275931 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript控制页面全屏,并且禁止使用ALT+TAB键切换

阅读更多

最近在做一个考试系统,客户要求考试页面打开后需要全屏显示,并且除本页面外不能进行其他操作,我查了一些相关资料了解到,利用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版本的问题。

分享到:
评论
2 楼 u014704612 2015-05-07  
你好,请问这个实现由需要什么条件吗,我复制进去达不到全屏的效果,不知道是不是我漏了什么
1 楼 shengtu 2014-07-25  
能不能兼容其它浏览器呢?

相关推荐

    IntelliJ IDEA12.1.4快捷键大全(按Ctrl/Shift/Alt/Ctrl+shift/Ctrl+Shift+Alt不同结合整理)

    18. `Ctrl+Tab`:在编辑窗口间切换,加`Delete`关闭窗口。 19. `Ctrl+F12`:打开当前文件的结构概览。 20. `Ctrl+F3`:跳转到当前选中词的下一个出现位置。 21. `Ctrl+/ 或 Ctrl+Shift+/`:行内注释(单行或多行)。...

    键盘键用法

    - Alt+Tab:在打开的窗口间切换。 - Alt+Esc:同样在打开的窗口间切换,但按顺序切换。 - Alt+空格键:打开窗口菜单,如最小化、最大化、关闭等选项。 - Ctrl+Esc:打开开始菜单。 - 拖动某项时按Ctrl:创建...

    QuickSave:应用程式可让您喜欢正在聆听的歌曲,并快速将其保存给具有全屏应用且不希望Alt + Tab的人

    这个应用程序特别针对那些不希望因为切换窗口(例如通过使用Alt + Tab快捷键)而中断沉浸式体验的用户设计。在全屏游戏、工作或者学习时,用户可以快速保存喜爱的歌曲,而无需离开当前界面。 QuickSave 应用的核心...

    电脑每个键的用途[文].pdf

    在资源管理器中,Alt+Enter可以查看文件或文件夹的属性,Alt+F4关闭当前窗口,Alt+Tab和Alt+Esc用于在打开的应用程序之间切换。利用NUM LOCK+数字键盘的键可以方便地折叠和展开文件夹结构。 总的来说,熟练掌握这些...

    Chrome快捷键

    - `Ctrl + Tab` / `Ctrl + Shift + Tab`:切换到下一个/上一个标签页 - `Alt + 左箭头` / `Alt + 右箭头`:返回/前进 2. **页面操作快捷键** - `F5`:刷新页面 - `Ctrl + R`:强制刷新页面,忽略缓存 - `Ctrl ...

    vscode默认快捷键文档.pdf

    VSCode(Visual Studio Code)是微软推出的一款轻量级但功能强大的源代码编辑器,它支持多种编程语言的语法高亮、代码补全、Git控制等功能。在Linux系统中使用VSCode时,可以通过快捷键快速执行各种操作,提高编程...

    WebStorm_ReferenceCard.pdf WebStorm快捷键

    - **Ctrl+Alt+F11**:切换全屏模式,专注于编码。 - **Ctrl+Shift+F12**:最大化编辑器窗口,获得更多工作空间。 - **Alt+Shift+F**:将当前文件添加至收藏夹,方便快速访问。 - **Alt+Shift+I**:使用当前配置文件...

    Sublime快捷键教辅

    比如"Ctrl+Tab"可以按文件浏览过的顺序切换标签页,"Ctrl+PageDown"和"Ctrl+PageUp"可以分别向左或向右切换标签页,"Ctrl+K+B"可以开启或关闭侧边栏,而"F11"则是进入全屏模式。 通过运用这些快捷键,开发者能够...

    你不得不知道的ie11浏览器快捷键技巧.docx

    - `Ctrl + Tab`/`Ctrl + Shift + Tab`:在标签页之间切换,按顺序或反向切换。 2. **IE11浏览器F12开发者工具导航快捷方式**: - `F12`:开启开发者工具,用于调试和优化网页。 - `Ctrl + 1`到`Ctrl + 8`:在...

    图片滚动 图片切换 图片点击放大

    键盘导航也是必要的,让用户可以通过Tab键和Enter键来触发图片切换和放大。 综上所述,实现“图片滚动、切换和点击放大”功能涉及到前端开发中的HTML结构设计、CSS样式控制、JavaScript交互逻辑以及对不同设备和...

    Sublime Text3快捷键

    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...

    vue-fullscreen:一个简单的全屏 Vue.js 组件

    注意:导航到另一个页面、更改选项卡或使用任何应用程序切换器(或 Alt-Tab)切换到另一个应用程序同样会退出全屏模式。 了解更多 从 &lt;= 2.3.5 迁移 成分 一般情况下,可以简单地使用双向绑定切换全屏状态,...

Global site tag (gtag.js) - Google Analytics