JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码


Posted in Javascript onDecember 01, 2020

先来两个简单粗暴的

第一个常用的函数代码

function keycodes(){
 // 禁止右键
 document.oncontextmenu=function(){return false};
 document.onkeydown = function(e) {
   e = window.event || e;
   var k = e.keyCode;
   //屏蔽ctrl+u,F12键
   if ((e.ctrlKey == true && k == 85) || k == 123) {
     e.keyCode = 0;
     e.returnValue = false;
     e.cancelBubble = true;
     return false;
   }
 }
}

第二种方法:

var arr = [123, 17, 18];
document.oncontextmenu = new Function("event.returnValue=false;"),//禁用右键
document.onselectstart = new Function("event.returnValue=false;"),//禁用选中
window.onkeydown = function (e) {
 var code = e.keyCode;
 if (arr.indexOf(code) > -1) {
 console.log("中招了", code);
 e.preventDefault();
 }
}, window.oncontextmenu = function (e) {
 e.preventDefault();
}

第三种方法:

var arr = [123, 17, 18];
document.oncontextmenu = new Function("event.returnValue=false;"),//禁用右键

window.onkeydown = function (e) {
 var keyCode = e.keyCode || e.which || e.charCode;
 var ctrlKey = e.ctrlKey || e.metaKey;
 console.log(keyCode + "--" + keyCode);
 if (ctrlKey && keyCode == 85) {
 console.log("ctrl+u");
 e.preventDefault();
 }
 if (arr.indexOf(keyCode) > -1) {
 console.log("其他");
 e.preventDefault();
 }
 //e.preventDefault();
 //return false;
}

一些常用的代码

1、实现禁止选中文字。

<script>
//网站禁止选择文字
  document.body.onselectstart = function() {
  self.event.returnValue=false
};
</script>

2、实现禁止鼠标右键。

<script>
  //网站禁止右键
  document.body.oncontextmenu = function() {
  self.event.returnValue=false
};
</script>

3、实现禁止F12审查元素。

<script>
	//按键触发
document.onkeydown = function(){
  //禁止 F12
  if (window.event && window.event.keyCode == 123) {
  event.keyCode = 0;
  event.returnValue = false;
  }
  }
</script>

4、实现禁止Ctrl+U查看源代码。

<script>
	//按键触发
document.onkeydown = function(){
  //禁止ctrl+u
  if (event.ctrlKey && window.event.keyCode==85){
  return false;
  }
  }
</script>

5、实现禁止Ctrl+S网页另存为。

<script>
	//按键触发
document.onkeydown = function(){
	//禁止ctrl+s
  if (event.ctrlKey && window.event.keyCode==83){
  return false;
  }
  }
</script>

6、实现禁止F5刷新页面。

<script>
	//按键触发
document.onkeydown = function(){
	//禁止 F5 
  if (window.event && window.event.keyCode == 116) {
  event.keyCode = 0;
  event.returnValue = false;
  }
  }
</script>

all、如果想同时实现以上的几种效果,如下:

<script>
	//按键触发
document.onkeydown = function(){
  //禁止ctrl+u
  if (event.ctrlKey && window.event.keyCode==85){
  return false;
  }
  //禁止 F12
  if (window.event && window.event.keyCode == 123) {
  event.keyCode = 0;
  event.returnValue = false;
  }
	//禁止ctrl+s
  if (event.ctrlKey && window.event.keyCode==83){
  return false;
  }
	//禁止 F5 
  if (window.event && window.event.keyCode == 116) {
  event.keyCode = 0;
  event.returnValue = false;
  }
  }
  //网站禁止右键
  document.body.oncontextmenu = function() {
  self.event.returnValue=false
};
//网站禁止选择文字
  document.body.onselectstart = function() {
  self.event.returnValue=false
};
</script>

JavaScript屏蔽右键F12和Ctrl+U等绝大部分按键

<script type='text/javascript'>
//屏蔽右键菜单
document.oncontextmenu = function (event) {
  if (window.event) {
    event = window.event;
  }
  try {
    var the = event.srcElement;
    if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
      return false;
    }
    return true;
  } catch (e) {
    return false;
  }
}
//屏蔽粘贴
document.onpaste = function (event) {
  if (window.event) {
    event = window.event;
  }
  try {
    var the = event.srcElement;
    if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
      return false;
    }
    return true;
  } catch (e) {
    return false;
  }
}
//屏蔽复制

//屏蔽剪切
document.oncut = function (event) {
  if (window.event) {
    event = window.event;
  }
  try {
    var the = event.srcElement;
    if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
      return false;
    }
    return true;
  } catch (e) {
    return false;
  }
}
//禁止f12

function fuckyou() {
  window.close(); //关闭当前窗口(防抽)
  window.location = "about:blank"; //将当前窗口跳转置空白页
}
//禁止Ctrl+U
var arr = [123, 17, 18];
document.oncontextmenu = new Function("event.returnValue=false;"), //禁用右键

  window.onkeydown = function (e) {
    var keyCode = e.keyCode || e.which || e.charCode;
    var ctrlKey = e.ctrlKey || e.metaKey;
    console.log(keyCode + "--" + keyCode);
    if (ctrlKey && keyCode == 85) {
      e.preventDefault();
    }
    if (arr.indexOf(keyCode) > -1) {
      e.preventDefault();
    }
  }

function ck() {
  console.profile();
  console.profileEnd();
  //我们判断一下profiles里面有没有东西,如果有,肯定有人按F12了,没错!!
  if (console.clear) {
    console.clear()
  };
  if (typeof console.profiles == "object") {
    return console.profiles.length > 0;
  }
}

function hehe() {
  if ((window.console && (console.firebug || console.table && /firebug/i.test(console.table()))) || (
      typeof opera ==
      'object' && typeof opera.postError == 'function' && console.profile.length > 0)) {
    fuckyou();
  }
  if (typeof console.profiles == "object" && console.profiles.length > 0) {
    fuckyou();
  }
}
hehe();
window.onresize = function () {
  if ((window.outerHeight - window.innerHeight) > 200)
    //判断当前窗口内页高度和窗口高度,如果差值大于200,那么呵呵
    fuckyou();
}

document.onkeydown = function (event) {
  if ((event.keyCode == 112) || //屏蔽 F1
    (event.keyCode == 113) || //屏蔽 F2
    (event.keyCode == 114) || //屏蔽 F3
    (event.keyCode == 115) || //屏蔽 F4
    // (event.keyCode == 116) || //屏蔽 F5
    (event.keyCode == 117) || //屏蔽 F6
    (event.keyCode == 118) || //屏蔽 F7
    (event.keyCode == 119) || //屏蔽 F8
    (event.keyCode == 120) || //屏蔽 F9
    (event.keyCode == 121) || //屏蔽 F10
    (event.keyCode == 122) || //屏蔽 F11
    (event.keyCode == 123)) //屏蔽 F12
  {
    return false;
  }
}
window.onhelp = function () {
  return false;
}
</script>

网页禁止右键相关行为代码:禁止复制、禁止 F12、禁止ctrl+u、网站禁止右键

防止网站文章被转载的一些常规方法,禁止复制、禁止 F12、禁止ctrl+u、网站禁止右键;但是这些只是做了一层防护,应对普通的新手编辑足够了,如果别人真想复制你网站的内容,还是有其他方法可以进行复制粘贴的。

下面是代码:

$("body").bind('copy', function (e) {
  var body_element = document.getElementsByTagName('body')[0];
  var selection = window.getSelection();
  var newdiv = document.createElement('div'); newdiv.style.position = 'absolute';
  newdiv.style.left = '-99999px';
  body_element.appendChild(newdiv);
  newdiv.appendChild(selection.getRangeAt(0).cloneContents());
  newdiv.innerHTML = "\u539f\u6587\uff1a<a href='" + document.location.href + "'>" + document.location.href + "</a>\u53d7\u539f\u521b\u534f\u8bae\u4fdd\u62a4\uff0c\u6d4f\u89c8\u5668\u6682\u4e0d\u652f\u6301\u590d\u5236\u7c98\u8d34";
  selection.selectAllChildren(newdiv); window.setTimeout(function () { body_element.removeChild(newdiv) }, 200)
});

上述代码是当选中页面文字,按ctrl+c键进行复制时,会弹出提示框阻止复制操作。

其中,

document.location.href为当前页面url;

\u539f\u6587\uff1a 进行了Unicode编码了的中文字符,转码过来就是“原文:”;

\u53d7\u539f\u521b\u534f\u8bae\u4fdd\u62a4\uff0c\u6d4f\u89c8\u5668\u6682\u4e0d\u652f\u6301\u590d\u5236\u7c98\u8d34 同样的是Unicode编码后的字符串,中文意思为:受原创协议保护,浏览器暂不支持复制粘贴 ;

Unicode编码内容可以借助一些工具进行修改,这里给出站长工具Unicode编码转换链接:http://tool.chinaz.com/tools/unicode.aspx

//按键触发
document.onkeydown = function(){
  //禁止ctrl+u
  if (event.ctrlKey && window.event.keyCode==85){
  return false;
  }
  //禁止 F12
  if (window.event && window.event.keyCode == 123) {
  event.keyCode = 0;
  event.returnValue = false;
  }
  }
  //网站禁止右键
  document.body.oncontextmenu = function() {
  self.event.returnValue=false
};

上面代码是当按下相关按键或者按下鼠标右键触发的提示。

网页如何禁止鼠标右键和F12,键盘另存为、粘贴、复制事件

最近做的商用后台项目涉及到前端加密技术,为了保证前端页面展示的数据不被窃取,所以在js上做了一些处理,这些处理并不能完全杜绝有心之人窃取数据,只是加大他们操作的难度而已。

1.禁止浏览器右键事件。使用浏览器右键可以将网页保存下来,或者审查网页源代码,这是我们想避免的(当然,仍然可以通过浏览器右上角的工具栏打开开发者工具,这里可以判断下鼠标的光标位置,如果光标移动到导航栏及页面body之外的地方,我们可以选择把页面展示的元素清空,这样在控制台看见的源代码也没有展示出来的数据了)。

js实现:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>禁止鼠标右键事件</title>
</head>
<body>
<p>这里是一些内容,展示禁止鼠标右键事件
</p>
</body>
<script>
 document.oncontextmenu = function(){
 return false;
 }
</script>
</html>

jquery实现:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>禁止鼠标右键事件</title>
</head>
<body>
<p>这里是一些内容,展示禁止鼠标右键事件
</p>
</body>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script>
 $(function(){
 $(document).contextmenu(function() {
  return false
 })
 });
</script>
</html>

2.禁止F12事件,键盘的选择粘贴复制事件

jquery实现:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>禁止键盘粘贴复制</title>
</head>
<body>
<p>这里是一些内容
</p>
</body>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script>
 function forbidKeyboard() {
 $(document).keydown(function(e) {
  /*9:Tab键, 17:Control键, 18:Alt键, 123:F12键, 83:S键*/
  var keyboardCode = [9, 17, 18, 123];
  for (i in keyboardCode) {
  if (keyboardCode[i] == e.keyCode) {
   return false;
  }
  }
  if ((e.keyCode == 83) && (e.ctrlKey || e.metaKey)) {
  return false;
  }
 });
 /*禁止文本选择功能*/
 $(document).bind("selectstart",function(){return false;});
 }
 $(function(){
 forbidKeyboard();
 });
</script>
</html>

js实现:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>js禁止f12事件</title>
 <script>
 window.onload = function(){
  document.onkeydown = function(event){
  var ev = event || window.event || arguments.callee.caller.arguments[0];
  //123 代表F12键
  if(event.keyCode = 123){
   return false;
  }
  }
 }
 </script>
</head>
<body>
<p>这里是一些内容</p>
</body>
</html>

js屏蔽chrome F12后页面自动跳转

function a() {
 window.location.href = "https://3water.com/";
 return false
} 
 if (top.window.outerHeight - top.window.innerHeight > 150) {
 a()
 }
 if (top.window.outerWidth - top.window.innerWidth > 150) {
 a()
 }
};
r(document).keydown(function() {
 return y(arguments[0])
});
 
function y(r) {
 var o;
 if (window.event) {
 o = r.keyCode
 } else if (r.which) {
 o = r.which
 }
 if (o == 123) {
 e.larryCmsError("说好的demo版本只演示 不允许F12哦!", e.larryCore.tit);
 return false
 }
 if (r.ctrlKey) {
 if (r.shiftKey && o == 73) {
  e.larryCmsError("说好的demo版本只演示 不允许ctrl+shift+I哦!", e.larryCore.tit);
  return false
 }
 }
 if (r.ctrlKey && o == 83) {
 e.larryCmsError("说好的demo版本只演示 不允许ctrl+s保存哦!", e.larryCore.tit);
 return false
 }
}

具体就是页面加载后执行s();判断是不是有调试工具
和按f12后触发window.onresize判断,和按键key判断

到此这篇关于JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码的文章就介绍到这了,更多相关JS禁用右键Ctrl内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript仿php的print_r函数输出json数据
Sep 13 Javascript
jQuery 快速结束当前正在执行的动画
Nov 20 Javascript
解析Javascript中难以理解的11个问题
Dec 09 Javascript
9款2014最热门jQuery实用特效推荐
Dec 07 Javascript
Javascript常用字符串判断函数代码分享
Dec 08 Javascript
Node.js的环境安装配置(使用nvm方式)
Oct 11 Javascript
Easyui Tree获取当前选择节点的所有顶级父节点
Feb 14 Javascript
Vue Transition实现类原生组件跳转过渡动画的示例
Aug 19 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
Jun 24 Javascript
Vue.js递归组件实现组织架构树和选人功能
Jul 04 Javascript
JS实现压缩上传图片base64长度功能
Dec 03 Javascript
VUE中V-IF条件判断改变元素的样式操作
Aug 09 Javascript
在Vue里如何把网页的数据导出到Excel的方法
Sep 30 #Javascript
jQuery实现二级导航菜单的示例
Sep 30 #jQuery
javascript canvas封装动态时钟
Sep 30 #Javascript
VUE Elemen-ui之穿梭框使用方法详解
Jan 19 #Javascript
Vue实现穿梭框效果
Sep 30 #Javascript
原生js实现表格翻页和跳转
Sep 29 #Javascript
vue实现井字棋游戏
Sep 29 #Javascript
You might like
在同一窗体中使用PHP来处理多个提交任务
2008/05/08 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
使用Discuz关键词服务器实现PHP中文分词
2014/03/11 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
PHP屏蔽过滤指定关键字的方法
2014/11/03 PHP
CI框架常用函数封装实例
2016/11/21 PHP
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
简单通用的JS滑动门代码
2008/12/19 Javascript
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
极简主义法编写JavaScript类
2017/11/02 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
2018/10/18 Javascript
layui 弹出层值回传解决方式
2019/11/14 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
Js数组扁平化实现方法代码总汇
2020/11/11 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
[16:01]夜魇凡尔赛茶话会 第二期01:你比划我猜
2021/03/11 DOTA
Python遍历目录的4种方法实例介绍
2015/04/13 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
湖南卫视在线视频媒体平台:芒果TV
2019/10/30 全球购物
师德个人剖析材料
2014/02/02 职场文书
建议书怎么写
2014/03/12 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
电信营业员岗位职责
2015/04/14 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书
详解用Python把PDF转为Word方法总结
2021/04/27 Python
OpenCV-Python 实现两张图片自动拼接成全景图
2021/06/11 Python
Python List remove()实例用法详解
2021/08/02 Python