JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用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、实现禁止选中文字。
<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="/UploadFiles/2021-04-02/jquery-1.8.2.min.js">2.禁止F12事件,键盘的选择粘贴复制事件
jquery实现:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>禁止键盘粘贴复制</title> </head> <body> <p>这里是一些内容 </p> </body> <script type="text/javascript" src="/UploadFiles/2021-04-02/jquery-1.8.2.min.js">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判断
下一篇:在Vue里如何把网页的数据导出到Excel的方法