JS禁用右鍵、禁用Ctrl+u、禁用Ctrl+s、禁用F12的實(shí)現(xiàn)代碼
先來兩個(gè)簡單粗暴的
第一個(gè)常用的函數(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í)實(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了,沒錯(cuò)??!
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ù)制時(shí),會(huì)彈出提示框阻止復(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òng)到導(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后頁面自動(dòng)跳轉(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)左、中、右鍵哪個(gè)被點(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ù)量太大時(shí)的解決方法
這篇文章主要為大家介紹下window.location.href中url中數(shù)據(jù)量太大時(shí)的解決方法,需要的朋友可以參考下2013-12-12
微信小程序?qū)崿F(xiàn)同時(shí)上傳多張圖片
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)同時(shí)上傳多張圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02
JS實(shí)現(xiàn)的簡單拖拽購物車功能示例【附源碼下載】
這篇文章主要介紹了JS實(shí)現(xiàn)的簡單拖拽購物車功能,涉及javascript事件響應(yīng)及頁面元素動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,并附帶完整實(shí)例源碼供讀者下載參考,需要的朋友可以參考下2018-01-01
JavaScript日期工具類DateUtils定義與用法示例
這篇文章主要介紹了JavaScript日期工具類DateUtils定義與用法,涉及javascript針對日期時(shí)間的獲取、轉(zhuǎn)換、比較、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2018-09-09
JS中通過url動(dòng)態(tài)獲取圖片大小的方法小結(jié)(兩種方法)
這篇文章主要介紹了JS中通過url動(dòng)態(tài)獲取圖片大小的方法小結(jié),本文給大家列舉了兩種方法,大家可以嘗試下看哪種方法好用,感興趣的朋友跟隨小編一起看看吧2018-10-10

