Chrome禁用开发者工具
在一次工作中,所做的项目要求页面中不能右击,不能打开F12。一般来说可以禁用F12的按键,但是可以通过开发者工具进入。经过个人实验,以下方法适用于谷歌浏览器、火狐浏览器,以及使用谷歌内核的浏览器(如QQ浏览器、搜狗浏览器等),IE忘了是否支持,自我感觉是目前比较齐全的了。
-
//禁止鼠标右击
-
document.oncontextmenu = function() {
-
event.returnValue = false;
-
};
-
//禁用开发者工具F12
-
document.onkeydown = document.onkeyup = document.onkeypress = function(event) {
-
let e = event || window.event || arguments.callee.caller.arguments[0];
-
if (e && e.keyCode == 123) {
-
e.returnValue = false;
-
return false;
-
}
-
};
-
let userAgent = navigator.userAgent;
-
if (userAgent.indexOf("Firefox") > -1) {
-
let checkStatus;
-
let devtools = /./;
-
devtools.toString = function() {
-
checkStatus = "on";
-
};
-
setInterval(function() {
-
checkStatus = "off";
-
console.log(devtools);
-
console.log(checkStatus);
-
console.clear();
-
if (checkStatus === "on") {
-
let target = "";
-
try {
-
window.open("about:blank", (target = "_self"));
-
} catch (err) {
-
let a = document.createElement("button");
-
a.onclick = function() {
-
window.open("about:blank", (target = "_self"));
-
};
-
a.click();
-
}
-
}
-
}, 200);
-
} else {
-
//禁用控制台
-
let ConsoleManager = {
-
onOpen: function() {
-
alert("Console is opened");
-
},
-
onClose: function() {
-
alert("Console is closed");
-
},
-
init: function() {
-
let self = this;
-
let x = document.createElement("div");
-
let isOpening = false,
-
isOpened = false;
-
Object.defineProperty(x, "id", {
-
get: function() {
-
if (!isOpening) {
-
self.onOpen();
-
isOpening = true;
-
}
-
isOpened = true;
-
return true;
-
}
-
});
-
setInterval(function() {
-
isOpened = false;
-
console.info(x);
-
console.clear();
-
if (!isOpened && isOpening) {
-
self.onClose();
-
isOpening = false;
-
}
-
}, 200);
-
}
-
};
-
ConsoleManager.onOpen = function() {
-
//打开控制台,跳转
-
let target = "";
-
try {
-
window.open("about:blank", (target = "_self"));
-
} catch (err) {
-
let a = document.createElement("button");
-
a.onclick = function() {
-
window.open("about:blank", (target = "_self"));
-
};
-
a.click();
-
}
-
};
-
ConsoleManager.onClose = function() {
-
alert("Console is closed!!!!!");
-
};
-
ConsoleManager.init();
-
}
Chrome禁用开发者工具的更多相关文章
- 谷歌Chrome浏览器开发者工具的基础功能
上一篇我们学习了谷歌Chrome浏览器开发者工具的基础功能,下面介绍的是Chrome开发工具中最有用的面板Sources.Sources面板几乎是最常用到的Chrome功能面板,也是解决一般问题的主要 ...
- [转]谷歌Chrome浏览器开发者工具教程—JS调试篇
来源:http://blog.csdn.net/cyyax/article/details/51242720 上一篇我们学习了谷歌Chrome浏览器开发者工具的基础功能,下面介绍的是Chrome开发工 ...
- [转]谷歌Chrome浏览器开发者工具教程—基础功能篇
来源:http://www.xiazaiba.com/jiaocheng/5557.html Chrome(F12开发者工具)是非常实用的开发辅助工具,对于前端开发者简直就是神器,但苦于开发者工具是英 ...
- Mac下safari、chrome打开开发者工具快捷键
mac下safari和chrome打开开发者工具的快捷键相同,都是option(alt)+command+i 这个是我的默认配置,没有更改过的.
- 通过使用Chrome的开发者工具来学习JavaScript
本文作者是Peter Rybin,Chrome开发者工具团队成员. 本文中,我们将通过使用Chrome的开发者工具,来学习JavaScript中的两个重要概念”闭包”和”内部属性”. 闭包 首先要讲的 ...
- Chrome的开发者工具(Chrome Developer Tools)
Chrome的开发者工具(Chrome Developer Tools) 按F12 https://developer.chrome.com/devtools/index http://www.w3s ...
- 爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,loads,dump,load方法介绍
爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,load ...
- chrome浏览器开发者工具使用教程[转]
转自:http://www.cr173.com/html/16930_1.html 更多资源:https://developers.google.com/chrome-developer-tools/ ...
- Chrome/谷歌开发者工具分析
Chrome/谷歌开发者工具还是要好好掌握一下,对于前端开发超级有用:https://developers.google.com/web/tools/chrome-devtools/ 1.js内存使用 ...
- MAC 打开Chrome打开开发者工具的快捷键
mac下safari和chrome打开开发者工具的快捷键相同,都是 option(alt)+command+i 这个是我的默认配置,没有更改过的.
随机推荐
- Windows10下yolov8 tensorrt模型加速部署【实战】
Windows10下yolov8 tensorrt模型加速部署[实战] TensorRT-Alpha基于tensorrt+cuda c++实现模型end2end的gpu加速,支持win10.linux ...
- python基本数据类型与内置方法
1.数据类型内置方法理论 1.每一种数据类型本身都含有一系列的操作方法,内置方法是其本身自带的功能,是其中最多的. 2.python中数据类型调用的内置方法的统一句式为>>>:句点符 ...
- 视觉十四讲:第九讲_BA优化_g2o
1.投影模型和BA代价函数 这个流程就是观测方程 之前抽象的记为: \(z = h(x, y)\) 现在给出具体的参数话过程,x指此时相机的位姿R,t,它对应的李代数为\(\xi\).路标y即为这里的 ...
- 学习Java Day12
今天学习了多维数组
- 2021级《JAVA语言程序设计》上机考试试题8
专业教师功能页: <%@ page language="java" contentType="text/html; charset=UTF-8" page ...
- Element ui&图标、按钮、超链接、单选框
ElementUI&Vant ui 基于Vue的一套桌面端的组件库,提前封装好的UI模版,方便开发者快速搭建一个网站前端界面. 官网:https://element.eleme.cn/#/zh ...
- C语言-补漏 -内存管理
8. 全局就是简简单单编写的 静态函数--只能在当前文件内使用的函数
- 深入理解JavaScript对象
前言 在 JavaScript 中,对象是一种非常常见的数据类型,几乎每个程序员都会在日常工作中频繁地使用对象.在本篇文章中,我们将深入了解 JavaScript 对象的一些基本概念和一些高级概念,这 ...
- CentOS7一键安装RPM版LNMP(NGINX+PHP+MySQL)环境
转载:简书 CentOS7一键安装RPM版LNMP(NGINX+PHP+MySQL)环境 - 简书 (jianshu.com) (需要配置nginx.conf文件) 转载:csdn (35条消息) V ...
- 跳板攻击之:EarthWorm代理转发
跳板攻击之:EarthWorm代理转发 目录 跳板攻击之:EarthWorm代理转发 1 EarthWorm官方介绍 2 官方使用方法: 2.1 环境 2.2 正向 SOCKS v5 服务器 2.3 ...