JavaScript实现禁止打开控制台
通过 JavaScript 实现禁止打开控制台(期中包括:右键审查元素、工具栏、F12、Shift+Ctrl+I)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style type="text/css">
/*禁止选中文字*/
body {
-moz-user-select: none;
/*火狐*/
-webkit-user-select: none;
/*webkit浏览器*/
-ms-user-select: none;
/*IE10*/
-khtml-user-select: none;
/*早期浏览器*/
user-select: none;
}
</style>
</head>
<body>
<script type='text/javascript'>
//禁用右键(防止右键查看源代码)
window.oncontextmenu = function () { return false; }
//禁止任何键盘敲击事件(防止F12和shift+ctrl+i调起开发者工具)
window.onkeydown = window.onkeyup = window.onkeypress = function () {
window.event.returnValue = false;
return false;
}
//如果用户在工具栏调起开发者工具,那么判断浏览器的可视高度和可视宽度是否有改变,如有改变则关闭本页面
var h = window.innerHeight, w = window.innerWidth;
window.onresize = function () {
if (h != window.innerHeight || w != window.innerWidth) {
window.close();
window.location = "about:blank";
}
}
/*好吧,你的开发者工具是单独的窗口显示,不会改变原来网页的高度和宽度, 但是你只要修改页面元素我就重新加载一次数据,让你无法修改页面元素(不支持IE9以下浏览器)*/
if (window.addEventListener) {
window.addEventListener("DOMCharacterDataModified", function () { window.location.reload(); }, true);
window.addEventListener("DOMAttributeNameChanged", function () { window.location.reload(); }, true);
window.addEventListener("DOMCharacterDataModified", function () { window.location.reload(); }, true);
window.addEventListener("DOMElementNameChanged", function () { window.location.reload(); }, true);
window.addEventListener("DOMNodeInserted", function () { window.location.reload(); }, true);
window.addEventListener("DOMNodeInsertedIntoDocument", function () { window.location.reload(); }, true);
window.addEventListener("DOMNodeRemoved", function () { window.location.reload(); }, true);
window.addEventListener("DOMNodeRemovedFromDocument", function () { window.location.reload(); }, true);
window.addEventListener("DOMSubtreeModified", function () { window.location.reload(); }, true);
}
</script>
</body>
</html>
“通过监听页面元素变化来重新加载页面”的代码会导致你的网站崩溃,所以根据实际情况,谨慎使用
JavaScript实现禁止打开控制台的更多相关文章
- 禁止打开 F12 开发者工具
禁止F12 window.onkeydown = window.onkeyup = window.onkeypress = function (event) { // 判断是否按下F12,F12键码为 ...
- HTML中使用javascript解除禁止input输入框代码:
转:表单中Readonly和Disabled的区别 参考资料: disabled和readonly区别: 参考博文1地址:http://blog.csdn.net/symgdwyh/article/d ...
- IE9 打不开界面也不报错,只有打开控制台才会显示 - console
IE9下,打开界面不报错也不展示数据,打开控制台时就能加载出数据,有可能是代码中有console
- IE9 不F12打开控制台,代码不执行。打开后正常
对每个前端er来说,提起来ie就是头大,各种兼容性的问题,让人头大.前两天就在ie9下遇到一个比较少见的问题. 具体情况是这样的: ie9下,js不执行,各种绑定事件不起作用.其他浏览器都6得飞起.当 ...
- 转:表单中Readonly和Disabled的区别(HTML中使用javascript解除禁止input输入框代)
转:表单中Readonly和Disabled的区别 参考资料: disabled和readonly区别: 参考博文1地址:http://blog.csdn.net/symgdwyh/article/d ...
- 用javascript实现禁止页面后退返回上一页的代码
用javascript实现禁止页面后退返回上一页的代码: 有时候我们需要用户在点击了如下一步的按钮时,页面跳转到了下一个页面,这时想不允许用户返回后退到上一页,可以采用下面的方法: 在需要跳转的页 ...
- safari浏览器在window下 打开控制台
有时候需要在window下测试safari浏览器的兼容性 然后需要打开错误控制台 以下是完整打开的图文教程 1.显示菜单栏 2.打开偏好设置 3.然后切换到高级标签 勾选 在菜单栏显示开发菜单 4.打 ...
- JavaScript来实现打开链接页面(转载)
在页面中的链接除了常规的方式以外,如果使用javascript,还有很多种方式,下面是一些使用javascript,打开链接的几种方式: 1.使用window的open方法打开链接,这里可是在制定页面 ...
- javascript 实现禁止右键,复制,选取文本 (兼容firefox,IE,chrome等主流浏览器)
1. JS 禁止右键 <script type="text/javascript">document.oncontextmenu=function(e){return ...
随机推荐
- 1217 - Neighbor House (II)
1217 - Neighbor House (II) PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 3 ...
- wiodows /linux CMD
windows : netstat -ano 查看所有端口使用情况 netstat -ano |findstr "端口号" 查看特定端口号 tasklist |f ...
- C++中常用的数学函数总结
我们在C++程序设计的过程中往往会使用到一些数学函数,那么不同的数学运算要用到什么函数哪?大家可以参考我的总结如下: 首先引用到数学函数时一定要记得加函数头文件 #include<cmath&g ...
- Java实习生常规技术面试题每日十题Java基础(六)
目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...
- 编写Java程序,使用Swing布局管理器和常用控件,实现仿QQ登录界面
返回本章节 返回作业目录 需求说明: 使用Swing布局管理器和常用控件,实现仿QQ登录界面 实现思路: 创建登录界面的类QQLogin,该类继承父类JFrame,在该类中创建无参数的构造方法,在构造 ...
- 4 - 基于ELK的ElasticSearch 7.8.x技术整理 - 高级篇( 续 ) - 更新完毕
0.前言 这里面一些理论和前面的知识点挂钩的,所以:建议看一下另外3篇知识内容 基础篇:https://www.cnblogs.com/xiegongzi/p/15684307.html java操作 ...
- Jedis 基本使用
引入 jedis 依赖: <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <!-- Dec 15, 2 ...
- SpringBootAdmin-使用踩坑
一.版本选择 目前项目中使用的springcloud版本为 Hoxton.SR3,使用的spring-cloud-alibaba版本为2.2.1.RELEASE, 使用的springboot版本为2. ...
- 初识python 之 兔子生崽(小练习)
题目:有一对兔子,从出生后第三个月起每个月都生一对小兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子不死,每个月的兔子总数为多少?思路分析: 月份 兔子数 规律1 2 2**12 2 2**13 ...
- centos7 安装locate
使用locate my.cnf命令可以列出所有的my.cnf文件 yum -y install mlocate 原因是安装完后没有更新库 更新库:updatedb