黑马程序员技术交流社区

标题: JS屏蔽键盘、鼠标!整理的很详细,需要的转走! [打印本页]

作者: 王晨    时间: 2012-12-18 19:55
标题: JS屏蔽键盘、鼠标!整理的很详细,需要的转走!
本帖最后由 刪除記忆ご 于 2012-12-18 19:59 编辑

这是我从网上找到的使用JS来实现屏蔽一些键盘按键、鼠标等外设的代码,感觉整理的挺详细的,部分代码在我前几天的课程设计中使用,确实很方便,所以今天上传上来,供大家查找使用!需要的话请直接转走使用!

1、屏蔽键盘所有键
  1. <script language="javascript">
  2. <!--
  3. function document.onkeydown(){
  4. event.keyCode = 0;
  5. event.returnvalue = false;
  6. }
  7. -->
  8. </script>
复制代码
2、 屏蔽鼠标右键
在body标签里加上oncontextmenu=self.event.returnvalue=false
或者
  1. <script language="javascript">
  2. <!--
  3. function document.oncontextmenu()
  4. {
  5. return false;
  6. }
  7. -->
  8. </script>
  9. function nocontextmenu()
  10. {
  11. if(document.all) {
  12. event.cancelBubble=true;
  13. event.returnvalue=false;
  14. return false;
  15. }
  16. }
复制代码
或者
  1. <body onmousedown="rclick()" oncontextmenu= "nocontextmenu()">
  2. <script language="javascript">
  3. <!--
  4. function rclick()
  5. {
  6. if(document.all) {
  7. if (event.button == 2){
  8. event.returnvalue=false;
  9. }
  10. }
  11. }
  12. -->
  13. </script>
复制代码
3、 屏蔽 Ctrl+N、Shift+F10、F5刷新、退格键
  1. <script language="javascript">
  2. <!--
  3. //屏蔽鼠标右键、Ctrl+N、Shift+F10、F5刷新、退格键
  4. function window.onhelp(){return false} //屏蔽F1帮助
  5. function KeyDown(){
  6. if ((window.event.altKey)&&
  7. ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ←
  8. (window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 →
  9. alert("不准你使用ALT+方向键前进或后退网页!");
  10. event.returnvalue=false;
  11. }
  12. /* 注:这还不是真正地屏蔽 Alt+ 方向键,
  13. 因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放,
  14. 用鼠标点掉警告框,这种屏蔽方法就失效了。以后若
  15. 有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/
  16. if ((event.keyCode == 8) &&
  17. (event.srcElement.type != "text" &&
  18. event.srcElement.type != "textarea" &&
  19. event.srcElement.type != "password") || //屏蔽退格删除键
  20. (event.keyCode==116)|| //屏蔽 F5 刷新键
  21. (event.ctrlKey && event.keyCode==82)){ //Ctrl + R
  22. event.keyCode=0;
  23. event.returnvalue=false;
  24. }
  25. if ((event.ctrlKey)&&(event.keyCode==78)) //屏蔽 Ctrl+n
  26. event.returnvalue=false;
  27. if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10
  28. event.returnvalue=false;
  29. if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
  30. window.event.returnvalue = false; //屏蔽 shift 加鼠标左键新开一网页
  31. if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
  32. window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
  33. return false;}
  34. }
  35. /* 另外可以用 window.open 的方法屏蔽 IE 的所有菜单
  36. 第一种方法:
  37. window.open("你的.htm",

  38. "","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,status=no,t

  39. op=0,left=0")
  40. 第二种方法是打开一个全屏的页面:
  41. window.open("你的.asp", "", "fullscreen=yes")
  42. */
  43. //-->
  44. </script>
复制代码
4、屏蔽浏览器右上角“最小化”“最大化”“关闭”键
  1. <script language=javascript>
  2. function window.onbeforeunload()
  3. {
  4. if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)
  5. {
  6. window.event.returnvalue = "";
  7. }
  8. }
  9. </script>
复制代码
注:在body标签里加上onbeforeunload="javascript:return false"(使不能关闭窗口)
5、屏蔽F5键
  1. <script language="javascript">
  2. <!--
  3. function document.onkeydown()
  4. {
  5. if ( event.keyCode==116)
  6. {
  7. event.keyCode = 0; //取消按键操作
  8. event.cancelBubble = true; //取消事件冒泡
  9. return false;
  10. //window.event.returnValue=false;(等效于false)//返回产生事件的按钮的值,如果等于

  11. false,就是说这个事件永远不会发生。
  12. }
  13. }
  14. -->
  15. </script>

复制代码
6、屏蔽IE后退按钮

在你链接的时候用 <a href="javascript:location.replace(url)">

7、屏蔽主窗口滚动条

在body标签里加上 style="overflow-y:hidden"

8 、屏蔽拷屏,不断地清空剪贴板
在body标签里加上  onload="setInterval('clipboardData.setData(\'Text\',\'\')',100)"
9、屏蔽网站的打印功能
  1. <style>
  2. @media print {
  3. * { display: none }
  4. }
  5. </style>
复制代码
10、屏蔽IE6.0 图片上自动出现的保存图标
方法一:
<META HTTP-EQUIV="imagetoolbar" CONTENT="no">
方法二:
<img galleryimg="no">

3.11 屏蔽页中所有的script
<noscrript></noscript>

作者: 许庭洲    时间: 2012-12-18 20:07
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2