JS禁用右鍵、禁用Ctrl+u、禁用Ctrl+s、禁用F12的實(shí)現(xiàn)代碼
先來兩個簡單粗暴的
第一個常用的函數(shù)代碼
function keycodes(){ // 禁止右鍵 document.oncontextmenu=function(){return false}; document.onkeydown = function(e) { e = window.event || e; var k = e.keyCode; //屏蔽ctrl+u,F(xiàn)12鍵 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、實(shí)現(xiàn)禁止選中文字。
<script> //網(wǎng)站禁止選擇文字 document.body.onselectstart = function() { self.event.returnValue=false }; </script>
2、實(shí)現(xiàn)禁止鼠標(biāo)右鍵。
<script> //網(wǎng)站禁止右鍵 document.body.oncontextmenu = function() { self.event.returnValue=false }; </script>
3、實(shí)現(xiàn)禁止F12審查元素。
<script> //按鍵觸發(fā) document.onkeydown = function(){ //禁止 F12 if (window.event && window.event.keyCode == 123) { event.keyCode = 0; event.returnValue = false; } } </script>
4、實(shí)現(xiàn)禁止Ctrl+U查看源代碼。
<script> //按鍵觸發(fā) document.onkeydown = function(){ //禁止ctrl+u if (event.ctrlKey && window.event.keyCode==85){ return false; } } </script>
5、實(shí)現(xiàn)禁止Ctrl+S網(wǎng)頁另存為。
<script> //按鍵觸發(fā) document.onkeydown = function(){ //禁止ctrl+s if (event.ctrlKey && window.event.keyCode==83){ return false; } } </script>
6、實(shí)現(xiàn)禁止F5刷新頁面。
<script> //按鍵觸發(fā) document.onkeydown = function(){ //禁止 F5 if (window.event && window.event.keyCode == 116) { event.keyCode = 0; event.returnValue = false; } } </script>
all、如果想同時實(shí)現(xiàn)以上的幾種效果,如下:
<script> //按鍵觸發(fā) 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; } } //網(wǎng)站禁止右鍵 document.body.oncontextmenu = function() { self.event.returnValue=false }; //網(wǎng)站禁止選擇文字 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; } } //屏蔽復(fù)制 //屏蔽剪切 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(); //關(guān)閉當(dāng)前窗口(防抽) window.location = "about:blank"; //將當(dāng)前窗口跳轉(zhuǎn)置空白頁 } //禁止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) //判斷當(dāng)前窗口內(nèi)頁高度和窗口高度,如果差值大于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>
網(wǎng)頁禁止右鍵相關(guān)行為代碼:禁止復(fù)制、禁止 F12、禁止ctrl+u、網(wǎng)站禁止右鍵
防止網(wǎng)站文章被轉(zhuǎn)載的一些常規(guī)方法,禁止復(fù)制、禁止 F12、禁止ctrl+u、網(wǎng)站禁止右鍵;但是這些只是做了一層防護(hù),應(yīng)對普通的新手編輯足夠了,如果別人真想復(fù)制你網(wǎng)站的內(nèi)容,還是有其他方法可以進(jìn)行復(fù)制粘貼的。
下面是代碼:
$("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) });
上述代碼是當(dāng)選中頁面文字,按ctrl+c鍵進(jìn)行復(fù)制時,會彈出提示框阻止復(fù)制操作。
其中,
document.location.href為當(dāng)前頁面url;
\u539f\u6587\uff1a 進(jìn)行了Unicode編碼了的中文字符,轉(zhuǎn)碼過來就是“原文:”;
\u53d7\u539f\u521b\u534f\u8bae\u4fdd\u62a4\uff0c\u6d4f\u89c8\u5668\u6682\u4e0d\u652f\u6301\u590d\u5236\u7c98\u8d34 同樣的是Unicode編碼后的字符串,中文意思為:受原創(chuàng)協(xié)議保護(hù),瀏覽器暫不支持復(fù)制粘貼 ;
Unicode編碼內(nèi)容可以借助一些工具進(jìn)行修改,這里給出站長工具Unicode編碼轉(zhuǎn)換鏈接:http://tool.chinaz.com/tools/unicode.aspx
//按鍵觸發(fā) 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; } } //網(wǎng)站禁止右鍵 document.body.oncontextmenu = function() { self.event.returnValue=false };
上面代碼是當(dāng)按下相關(guān)按鍵或者按下鼠標(biāo)右鍵觸發(fā)的提示。
網(wǎng)頁如何禁止鼠標(biāo)右鍵和F12,鍵盤另存為、粘貼、復(fù)制事件
最近做的商用后臺項(xiàng)目涉及到前端加密技術(shù),為了保證前端頁面展示的數(shù)據(jù)不被竊取,所以在js上做了一些處理,這些處理并不能完全杜絕有心之人竊取數(shù)據(jù),只是加大他們操作的難度而已。
1.禁止瀏覽器右鍵事件。使用瀏覽器右鍵可以將網(wǎng)頁保存下來,或者審查網(wǎng)頁源代碼,這是我們想避免的(當(dāng)然,仍然可以通過瀏覽器右上角的工具欄打開開發(fā)者工具,這里可以判斷下鼠標(biāo)的光標(biāo)位置,如果光標(biāo)移動到導(dǎo)航欄及頁面body之外的地方,我們可以選擇把頁面展示的元素清空,這樣在控制臺看見的源代碼也沒有展示出來的數(shù)據(jù)了)。
js實(shí)現(xiàn):
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>禁止鼠標(biāo)右鍵事件</title> </head> <body> <p>這里是一些內(nèi)容,展示禁止鼠標(biāo)右鍵事件 </p> </body> <script> document.oncontextmenu = function(){ return false; } </script> </html>
jquery實(shí)現(xiàn):
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>禁止鼠標(biāo)右鍵事件</title> </head> <body> <p>這里是一些內(nèi)容,展示禁止鼠標(biāo)右鍵事件 </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事件,鍵盤的選擇粘貼復(fù)制事件
jquery實(shí)現(xiàn):
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>禁止鍵盤粘貼復(fù)制</title> </head> <body> <p>這里是一些內(nèi)容 </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實(shí)現(xiàn):
<!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>這里是一些內(nèi)容</p> </body> </html>
js屏蔽chrome F12后頁面自動跳轉(zhuǎn)
function a() { window.location.href = "http://www.dbjr.com.cn/"; 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 } }
具體就是頁面加載后執(zhí)行s();判斷是不是有調(diào)試工具
和按f12后觸發(fā)window.onresize判斷,和按鍵key判斷
到此這篇關(guān)于JS禁用右鍵、禁用Ctrl+u、禁用Ctrl+s、禁用F12的實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)JS禁用右鍵Ctrl內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- js判斷鼠標(biāo)左、中、右鍵哪個被點(diǎn)擊的方法
- 兩種JS實(shí)現(xiàn)屏蔽鼠標(biāo)右鍵的方法
- 利用JS來控制鍵盤的上下左右鍵(示例代碼)
- js禁止頁面刷新禁止用F5鍵刷新禁止右鍵的示例代碼
- JS實(shí)現(xiàn)禁止鼠標(biāo)右鍵的功能
- JS input文本框禁用右鍵和復(fù)制粘貼功能的代碼
- js鍵盤上下左右鍵怎么觸發(fā)function(實(shí)例講解)
- js禁止頁面復(fù)制功能禁用頁面右鍵菜單示例代碼
- js實(shí)現(xiàn)右鍵菜單功能
- js自定義鼠標(biāo)右鍵的實(shí)現(xiàn)原理及源碼
- ExtJs grid行 右鍵菜單的兩種方法
- JavaScript鼠標(biāo)事件,點(diǎn)擊鼠標(biāo)右鍵,彈出div的簡單實(shí)例
- javascript實(shí)現(xiàn)禁止右鍵和F12查看源代碼
- JS 獲取鼠標(biāo)左右鍵的鍵值方法
相關(guān)文章
window.location.href中url中數(shù)據(jù)量太大時的解決方法
這篇文章主要為大家介紹下window.location.href中url中數(shù)據(jù)量太大時的解決方法,需要的朋友可以參考下2013-12-12JS實(shí)現(xiàn)的簡單拖拽購物車功能示例【附源碼下載】
這篇文章主要介紹了JS實(shí)現(xiàn)的簡單拖拽購物車功能,涉及javascript事件響應(yīng)及頁面元素動態(tài)操作相關(guān)實(shí)現(xiàn)技巧,并附帶完整實(shí)例源碼供讀者下載參考,需要的朋友可以參考下2018-01-01JavaScript日期工具類DateUtils定義與用法示例
這篇文章主要介紹了JavaScript日期工具類DateUtils定義與用法,涉及javascript針對日期時間的獲取、轉(zhuǎn)換、比較、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2018-09-09JS中通過url動態(tài)獲取圖片大小的方法小結(jié)(兩種方法)
這篇文章主要介紹了JS中通過url動態(tài)獲取圖片大小的方法小結(jié),本文給大家列舉了兩種方法,大家可以嘗試下看哪種方法好用,感興趣的朋友跟隨小編一起看看吧2018-10-10