您好,登錄后才能下訂單哦!
JS如何實現(xiàn)禁用右鍵、禁用Ctrl+u、禁用Ctrl+s、禁用F12?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
第一種方法:
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,鍵盤另存為、粘貼、復制事件
最近做的商用后臺項目涉及到前端加密技術,為了保證前端頁面展示的數(shù)據(jù)不被竊取,所以在js上做了一些處理,這些處理并不能完全杜絕有心之人竊取數(shù)據(jù),只是加大他們操作的難度而已。
1.禁止瀏覽器右鍵事件。使用瀏覽器右鍵可以將網頁保存下來,或者審查網頁源代碼,這是我們想避免的(當然,仍然可以通過瀏覽器右上角的工具欄打開開發(fā)者工具,這里可以判斷下鼠標的光標位置,如果光標移動到導航欄及頁面body之外的地方,我們可以選擇把頁面展示的元素清空,這樣在控制臺看見的源代碼也沒有展示出來的數(shù)據(jù)了)。
js實現(xiàn):
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>禁止鼠標右鍵事件</title> </head> <body> <p>這里是一些內容,展示禁止鼠標右鍵事件 </p> </body> <script> document.oncontextmenu = function(){ return false; } </script> </html>
jquery實現(xiàn):
<!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實現(xiàn):
<!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實現(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>這里是一些內容</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 } }
具體就是頁面加載后執(zhí)行s();判斷是不是有調試工具和按f12后觸發(fā)window.onresize判斷,和按鍵key判斷
看完上述內容,你們掌握JS如何實現(xiàn)禁用右鍵、禁用Ctrl+u、禁用Ctrl+s、禁用F12的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。