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 相关文章推荐
在html页面上拖放移动标签
Jan 08 Javascript
jquery validate poshytip 自定义样式
Nov 26 Javascript
用js判断输入是否为中文的函数
Mar 10 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
Jun 24 Javascript
在页面中输出当前客户端时间javascript实例代码
Mar 02 Javascript
jQuery插件echarts去掉垂直网格线用法示例
Mar 03 Javascript
bootstrap时间插件daterangepicker使用详解
Oct 19 Javascript
JavaScript栈和队列相关操作与实现方法详解
Dec 07 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
Feb 28 Javascript
微信小程序实现蓝牙打印
Sep 23 Javascript
Javascript如何实现双指控制图片功能
Feb 25 Javascript
JS实现网站楼层导航效果代码实例
Jun 16 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
Yii学习总结之安装配置
2015/02/22 PHP
php将字符串全部转换成大写或者小写的方法
2015/03/17 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
理解Javascript_03_javascript全局观
2010/10/11 Javascript
ExtJS 入门
2010/10/29 Javascript
JavaScript中Math对象方法使用概述
2014/01/02 Javascript
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
js对图片base64编码字符串进行解码并输出图像示例
2014/03/17 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
jQuery简单自定义图片轮播插件及用法示例
2016/11/21 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
2019/09/05 Javascript
vue.config.js常用配置详解
2019/11/14 Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
2019/12/06 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
[01:16:12]完美世界DOTA2联赛PWL S2 FTD vs Inki 第一场 11.21
2020/11/23 DOTA
python3 模拟登录v2ex实例讲解
2017/07/13 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
浅谈numpy生成数组的零值问题
2018/11/12 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
Python包,__init__.py功能与用法分析
2020/01/07 Python
python实现微信打飞机游戏
2020/03/24 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
德国汽车零件和汽车配件网上商店:kfzteile24
2018/11/14 全球购物
电子商务专业学生的自我鉴定
2013/11/28 职场文书
夫妻婚内购房协议书
2014/10/05 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书