您的位置:首页 > Web前端 > JavaScript

js网页全屏及禁止特殊按键防止页面刷新与前进后退(改进版)

2012-12-04 22:05 711 查看
js网页全屏及禁止网页所有按键(改进版)

2012-12-4 思远,杨勇 bjash@126.com

以下部分代码来源于网络搜集,这里只做了部分错误修改和整合的工作,

该代码适合制作需要全屏的页面,而且禁止特殊按键的情况!正常输入框输入和单选多选不影响。

//将本文件保存为forbidden.js,使用时:<script language="Javascript" src="forbidden.js"></script>  

//禁止内容选择

function document.onselectstart(){return false;}

//禁止内容拖放

function document.ondragstart(){return false;}

//禁止右键弹出菜单

function document.oncontextmenu(){return false;}

//禁止打印,在样式内添加代码:
//@media print{body{display:none}},这样,打印出的网页都是空的。

function isFocus(eltId)

{  //判断一元素是否获得焦点    

 //alert(event.currentTarget.id);

    //alert(document.activeElement.tagName);    

 if(document.activeElement.id==eltId)

 { //alert('获得焦点');   

  return true;      

  }           

 else{               

  //alert('未获得焦点');           

  return false;

 }   

 } //

function isFullscreen ()

{ if(window.screenLeft == 0 && window.document.body.clientWidth == window.screen.width

 &&window.document.body.offsetHeight==window.screen.height )

   { //location.href="帮助页,设置IE参数!";

      //alert('全屏');

       return true;

    }

  else

  { //alert('非全屏');

       return false;

  }

}

function auto_submit ()

{

  //alert('离开');

}

window.onblur=auto_submit;

//下面代码实现全屏显示          

function  window.onload()



//隐藏滚动条

 //document.getElementsByTagName('body')[0].style.overflow='hidden';

 //document.getElementsByTagName('body')[0].scroll="no";

 isFullscreen();// ***************

}  

 

function document.oncontextmenu(){ event.returnValue=false;}   //屏蔽鼠标右键   

function window.onhelp(){return false;}             //屏蔽F1帮助    

 

//屏蔽部分按键  

function document.onkeydown()       

{     

//document.activeElement.type按键时所处对象的类型:type值

//typeof(document.activeElement.type)=='undefined') 聚焦到body时 type为undefined,注意用typeof来判断!!!

//document.activeElement.tagName 标签的名称BODY,INPUT,TEXTAREA等,这里INPUT不能区分text和radio等

  

 //屏蔽退格后退页:  按键激活对象是单选按钮或多选按钮或BODY时屏蔽,而text,及textarea不屏蔽。  

 if( event.keyCode==8 &&( document.activeElement.type=='radio'||

     document.activeElement.type=='check'||typeof(document.activeElement.type)=='undefined' )  ) 

   {event.keyCode=0;   event.returnValue=false; }

 else if (event.ctrlKey && event.keyCode==82){event.keyCode=0;event.returnValue=false;}  //屏蔽Ctrl + R 

 else if (event.keyCode==116||event.keyCode==122){event.keyCode=0;event.cancelBubble=true; event.returnValue=false;} //屏蔽F5,F11,阻止事件冒泡  

 else if (event.ctrlKey && event.keyCode==78) event.returnValue=false; //屏蔽 Ctrl+n

 else if (event.ctrlKey && event.keyCode==67) event.returnValue=false; //屏蔽 Ctrl+v     

 else if (event.shiftKey && event.keyCode==121)event.returnValue=false; //屏蔽 shift+F10       

 else if (window.event.srcElement.tagName == "A" && window.event.shiftKey)  window.event.returnValue = false; //屏蔽 shift 加鼠标左键新开一网页       

 else if ((window.event.altKey)&&(window.event.keyCode==115)) //屏蔽Alt+F4       

 { window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");    return false;  }       

 else if (  (window.event.altKey)&&((window.event.keyCode==37)||(window.event.keyCode==39))  )

 {   //屏蔽 Alt+ 方向键 ← ,→ 前进或后退网页  ,但是按住 Alt 键不放,则拦不住      

 event.returnValue=false;       

 } 



     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  FUNCTION input Javascript