温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JS如何实现禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12

发布时间:2020-10-29 20:05:26 来源:亿速云 阅读:201 作者:Leah 栏目:开发技术

JS如何实现禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

第一种方法:

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;
}

网页如何禁止鼠标右键和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://www.jb51.net/";
 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的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

js ct
AI