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

在前端开发项目过程中,经常需要屏蔽客户端的一些操作,从而加大查看源码等难度,所以有必要整理一下这些js功能,同时也防止客户端用户误操作,破解方法也很简单这里就不多说了。

相关文章推荐:网页如何禁止鼠标右键和F12,键盘另存为、粘贴、复制事件

先来两个简单粗暴的

第一个常用的函数代码:

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. 实现禁止选中文字。

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

2. 实现禁止鼠标右键。

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

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

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

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

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

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

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

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

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

当然,如果想同时实现以上的几种效果,代码如下:

//按键触发
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
};

网页禁止右键相关行为代码:禁止复制、禁止 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编码后的字符串,中文意思为:受原创协议保护,浏览器暂不支持复制粘贴 ;
//按键触发
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
};

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

1. 本站所有免费资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的免费资源的准确性、安全性和完整性,免费资源仅供下载学习之用!如有链接无法下载、失效,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或技术教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
5. 加入前端开发QQ群:565733884,我们大家一起来交流技术!
码云笔记 » JS禁用右键、Ctrl+u、Ctrl+s、F12的实现代码

发表评论

前端开发相关广告投放 更专业 更精准

立即查看 联系我们