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 相关文章推荐
JS控制表格隔行变色
Jun 26 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
Jun 23 Javascript
基于jquery的图片的切换(以数字的形式)
Feb 14 Javascript
jQuery常用知识点总结以及平时封装常用函数
Feb 23 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
Sep 24 Javascript
关于js中的鼠标事件总结
Jul 11 Javascript
AngularJS中scope的绑定策略实例分析
Oct 30 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
Mar 03 Javascript
函数式编程入门实践(一)
Apr 20 Javascript
重学JS之显示强制类型转换详解
Jun 30 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
Jul 11 Javascript
Vue触发input选取文件点击事件操作
Aug 07 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
一个ftp类(ini.php)
2006/10/09 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
深入探究PHP的多进程编程方法
2015/08/18 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
js鼠标左右键 键盘值小结
2010/06/11 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
手机端转盘抽奖代码分享
2015/09/10 Javascript
深入解析JavaScript的闭包机制
2015/10/20 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
vue 开发企业微信整合案例分析
2019/12/02 Javascript
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python实现udp数据报传输的方法
2014/09/26 Python
python用户管理系统
2018/03/13 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
tensorflow2.0保存和恢复模型3种方法
2020/02/03 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
如何在django中运行scrapy框架
2020/04/22 Python
基于python计算并显示日间、星期客流高峰
2020/05/07 Python
Html5 Canvas动画基础碰撞检测的实现
2018/12/06 HTML / CSS
Html5+CSS3+EL表达式问题小结
2020/12/19 HTML / CSS
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
采购主管的岗位职责
2013/12/17 职场文书
2014年情人节活动方案
2014/02/16 职场文书
科长竞聘演讲稿
2014/05/16 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
小学生优秀评语
2014/12/29 职场文书
使用Python获取字典键对应值的方法
2022/04/26 Python
Python自动操作神器PyAutoGUI的使用教程
2022/06/16 Python