网页禁止右键 禁止F12 JavaScript禁止F12 禁止右键菜单 包含 js、Jquery、Vue

网页禁止右键 禁止F12 Jquery禁止F12 禁止右键菜单 包含 Jquery、Vue

  • [网页禁止右键 禁止F12 JavaScript禁止F12 禁止右键菜单 js](#网页禁止右键 禁止F12 JavaScript禁止F12 禁止右键菜单 js)
    • [JavaScript 中](#JavaScript 中)
    • [Jquery 中](#Jquery 中)
    • [Vue 中](#Vue 中)

这样设置通常是出于安全性或保护内容的目的,不想让别人看到源代码等信息

网页禁止右键 禁止F12 JavaScript禁止F12 禁止右键菜单 js

JavaScript 中

js 复制代码
<script>
// 禁止右键
document.addEventListener('contextmenu', function (e) {
    e.preventDefault();
});

// 禁止F12快捷键
document.onkeydown = function (e) {
    if (e.which === 123 || e.key === "F12"  || e.key === "Inspect") {
        e.preventDefault();
    }
};
<script>

Jquery 中

js 复制代码
<script>
		debugger
        function checkForDevTools() {
            // 创建一个元素并尝试调用 `console.log`,如果开发者工具打开,将返回 false
            const element = new Image();
            element.__defineGetter__('id', function () {
                // 开发者工具已打开,关闭当前页面
                window.close();
            });
            window.close();
            console.clear(); // 清除控制台,以隐藏上面的消息
            console.log(element);
        }

        $(document).ready(function () {
            checkForDevTools();
        });
</script>

<script>
        // 禁止右键菜单
        $(document).on('contextmenu', function (e) {
            e.preventDefault();
        });

        // 禁止F12
        $(document).on('keydown', function (e) {
             if (e.which === 123 || e.key === "F12" || e.key === "Inspect") {
                 e.preventDefault();
             }
        });
</script>

Vue 中

将禁止右键和禁止F12键的逻辑放在mounted生命周期钩子中,以确保它们在组件加载后生效。

html 复制代码
<template>
  <div>
    <p>这是一个示例页面。</p>
  </div>
</template>

<script>
export default {
  mounted() {
    // 禁止右键菜单
    document.addEventListener('contextmenu', (e) => {
      e.preventDefault();
    });

    // 禁止F12键
    document.onkeydown = (e) => {
      if (e.which === 123 || e.key === "F12" || e.key === "Inspect") {
        e.preventDefault();
      }
    };
  },
};
</script>
相关推荐
颜酱2 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
小迷糊的学习记录3 小时前
Vuex 与 pinia
前端·javascript·vue.js
发现一只大呆瓜3 小时前
前端性能优化:图片懒加载的三种手写方案
前端·javascript·面试
不爱吃糖的程序媛3 小时前
Flutter 与 OpenHarmony 通信:Flutter Channel 使用指南
前端·javascript·flutter
利刃大大3 小时前
【Vue】Element-Plus快速入门 && Form && Card && Table && Tree && Dialog && Menu
前端·javascript·vue.js·element-plus
NEXT063 小时前
AI 应用工程化实战:使用 LangChain.js 编排 DeepSeek 复杂工作流
前端·javascript·langchain
光影少年4 小时前
react的hooks防抖和节流是怎样做的
前端·javascript·react.js
小毛驴8504 小时前
Vue 路由示例
前端·javascript·vue.js
发现一只大呆瓜5 小时前
AI流式交互:SSE与WebSocket技术选型
前端·javascript·面试
wuhen_n6 小时前
JavaScript链表与双向链表实现:理解数组与链表的差异
前端·javascript