JS禁用右鍵、禁用Ctrl+u、禁用Ctrl+s、禁用F12的實現程式碼
阿新 • • 發佈:2020-10-09
先來兩個簡單粗暴的
第一種方法:
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,//禁用右鍵 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,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的實現程式碼的文章就介紹到這了,更多相關JS禁用右鍵Ctrl內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!