【js】鼠标禁止右键禁止打开控制台及键盘禁用

简介: 前言大家好,今天和大家分享一下在前端js中禁止鼠标在浏览器中右键,禁止鼠标选中和禁止键盘按键。这个方法是我在制作一个单词考核系统时所使用到的,因为在考试期间如果打开控制台,通过控制台找到了正确的答案,那么就没有意义了。所以就需要将控制台禁用,所应用到的也是一些基础的知识,下面我们就一起来看一看吧

前言

大家好,今天和大家分享一下在前端js中禁止鼠标在浏览器中右键,禁止鼠标选中和禁止键盘按键。

这个方法是我在制作一个单词考核系统时所使用到的,因为在考试期间如果打开控制台,通过控制台找到了正确的答案,那么就没有意义了。

所以就需要将控制台禁用,所应用到的也是一些基础的知识,下面我们就一起来看一看吧

一、禁用

1. 禁用鼠标右键

document.oncontextmenu = new Function("event.returnValue=false");

oncontextmenu是JavaScript中的一个事件属性,用于在用户右击鼠标时触发相应的事件处理程序。当用户右击鼠标时,浏览器会显示一个上下文菜单,该属性可以用于阻止默认的上下文菜单行为,或者自定义右键菜单的行为。

2. 禁用鼠标选中

document.onselectstart = new Function("event.returnValue=false");

onselectstart是一个事件处理程序属性,它在用户开始选择文本时触发。它可以用于防止用户选择文本或在拖动元素时选择文本。

3. 禁用键盘F12

 document.addEventListener("keydown", function (e) {
    console.log(e。key);
        if (e.key == "F12") {
          e.preventDefault(); // 如果按下键F12,阻止事件
        }
    });

除了上面的写法外还有其他的一些写法。

document.onkeydown = () => {
  console.log(window.event.keyCode);
  for (let i = 9; i < 47; i++) {
    if (window.event && window.event.keyCode == i) {
      return false;
    }
  }
  for (let i = 58; i < 65; i++) {
    if (window.event && window.event.keyCode == i) {
      return false;
    }
  }
  for (let i = 91; i < 300; i++) {
    if (window.event && window.event.keyCode == i) {
      return false;
    }
  }
  // 禁用ctrl+shift+i
  if (window.event.ctrlKey && window.event.shiftKey && window.event.keyCode == 73) {
    return false;
  }
  if (window.event.shiftKey) {
    return false;
  }
  // 禁用ctrl+r
  if (window.event.ctrlKey && window.event.keyCode == 82) {
    return false;
  }
}

onkeydown是JavaScript中的事件处理程序,它在用户按下键盘上的任何键时触发。可以将onkeydown事件与JavaScript函数一起使用,以便在用户按下键时执行某些操作。例如,可以使用onkeydown事件来捕获用户按下Enter键并提交表单。


可以根据自己的需要来禁用按键,这个是我的项目需要所以加了禁用其它的键盘按键,上面的这个ctrl+shift+i也是可以打开浏览器的。

二、所有代码

// 1.禁用右键菜单
document.oncontextmenu = new Function("event.returnValue=false");
// 2.禁用鼠标选中
document.onselectstart = new Function("event.returnValue=false");
document.onkeydown = () => {
  console.log(window.event.keyCode);
  for (let i = 9; i < 47; i++) {
    if (window.event && window.event.keyCode == i) {
      return false;
    }
  }
  for (let i = 58; i < 65; i++) {
    if (window.event && window.event.keyCode == i) {
      return false;
    }
  }
  for (let i = 91; i < 300; i++) {
    if (window.event && window.event.keyCode == i) {
      return false;
    }
  }
  // 禁用ctrl+shift+i
  if (window.event.ctrlKey && window.event.shiftKey && window.event.keyCode == 73) {
    return false;
  }
  if (window.event.shiftKey) {
    return false;
  }
  // 禁用ctrl+r
  if (window.event.ctrlKey && window.event.keyCode == 82) {
    return false;
  }
}

总结

最后偷偷的告诉大家,还有一个可以打开控制台的方法,哪就是在刷新浏览器页面时同时按下F12,这样也是可以打开的,所以在这个项目中我对刷新也做了一些操作。

这个打开控制台的方法大家可以试一下,但是要先把F12给禁止了,不然搞错了还不知道,这个方法不是特别容易打开,要多尝试几次。

以上就是本章的全部内容了,感谢您的阅读,希望能够帮助到您。


相关文章
|
14天前
|
数据采集 存储 监控
实现自动化数据抓取:使用Node.js操控鼠标点击与位置坐标
本文介绍了如何使用Node.js和Puppeteer实现自动化数据抓取,特别是针对新闻网站“澎湃新闻”。通过设置代理IP、User-Agent和Cookie,提高爬虫的效率和隐蔽性,避免被网站封锁。代码示例展示了如何模拟鼠标点击、键盘输入等操作,抓取并整理新闻数据,适用于需要规避IP限制和突破频率限制的场景。
60 10
|
11天前
|
JavaScript
JS鼠标框选并删除HTML源码
这是一个js鼠标框选效果,可实现鼠标右击出现框选效果的功能。右击鼠标可拖拽框选元素,向下拖拽可实现删除效果,简单实用,欢迎下载
24 4
|
1月前
|
XML JavaScript 前端开发
JavaScript控制台:提升Web开发技能的秘密武器
作为Web开发人员,掌握JavaScript控制台中的各种方法至关重要。本文介绍了22种实用的console方法,从基本的log()到高级的profile()和memory,每种方法都配有示例和说明,帮助开发者更高效地调试和记录信息。通过了解这些工具,您可以优化代码、提高开发速度,减少错误,使编码过程更加顺畅愉快。
37 1
JavaScript控制台:提升Web开发技能的秘密武器
|
1月前
|
前端开发 JavaScript 安全
前端JS实现密码校验键盘横竖、26字母、相同字母、相同数字、密码包含用户名、数字 字母不能连续 不能相同三个、不能横向 竖向 连续三个 包含字符、不能有中文符号
该 JavaScript 代码实现了一个严格的密码校验功能,确保密码满足多种安全要求,包括长度、字符类型、不包含中文及特殊字符、不与用户名相似等。通过多个辅助函数,如 `validateFormat` 检查密码格式,`isHasChinaCharFun` 检测中文符号,`getCharAll` 生成键盘组合,以及 `checkPasswordFun` 综合验证密码的有效性和安全性。此工具对于提高用户账户的安全性非常有用。
25 0
|
1月前
|
JavaScript 前端开发 开发者
JavaScript 浏览器控制台的使用
JavaScript 浏览器控制台的使用
19 0
|
1月前
|
JavaScript Java
Java 控制台VUE.JS的使用
Java 控制台VUE.JS的使用
19 0
|
4月前
|
JavaScript
vue 全局响应键盘按键/监听键盘事件(含 js 获取键盘keyCode值的方法)
vue 全局响应键盘按键/监听键盘事件(含 js 获取键盘keyCode值的方法)
479 2
|
4月前
|
JavaScript
JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
|
4月前
|
JavaScript
js 滚动鼠标滑轮放大缩小图片
js 滚动鼠标滑轮放大缩小图片
26 0
|
4月前
|
Web App开发 JavaScript 前端开发
js 调试—— 【控制台】debugger语句 、 命令行API
js 调试—— 【控制台】debugger语句 、 命令行API
264 0