当前位置: 首页 > news >正文

vue网站禁止右键以及禁止打开控制台,检测到控制台停止运行

App.vue参考:

 

<template>
<div id="app" @contextmenu.prevent="handleContextMenu">
<router-view />
</div>
</template>

<script>
export default {
data() {
return {}
},

computed: {},

watch: {},

created() {

},

mounted() {
this.disableRightClick();
this.disableDevTools();
},

methods: {
handleContextMenu(e) {
e.preventDefault();
this.$message.warning('右键功能已禁用');
},
// 禁止右键菜单
disableRightClick() {
// 全局禁止右键
document.addEventListener('contextmenu', (e) => {
e.preventDefault();
return false;
});

// 禁止文本选择(可选)
// document.addEventListener('selectstart', (e) => {
// e.preventDefault();
// return false;
// });

// 禁止拖拽
document.addEventListener('dragstart', (e) => {
e.preventDefault();
return false;
});
},
// 禁止开发者工具
disableDevTools() {
this.preventF12();
this.preventCtrlShiftI();
this.preventCtrlU();
this.detectDevTools();
},
// 禁止F12
preventF12() {
document.addEventListener('keydown', (e) => {
if (e.key === 'F12' || e.keyCode === 123) {
e.preventDefault();
// this.$message.error('开发者工具已禁用');
return false;
}
});
},

// 禁止Ctrl+Shift+I
preventCtrlShiftI() {
document.addEventListener('keydown', (e) => {
if (e.ctrlKey && e.shiftKey && e.keyCode === 73) {
e.preventDefault();
// this.$message.error('开发者工具已禁用');
return false;
}
});
},
// 禁止Ctrl+U
preventCtrlU() {
document.addEventListener('keydown', (e) => {
if (e.ctrlKey && e.keyCode === 85) {
e.preventDefault();
// this.$message.error('查看源代码已禁用');
return false;
}
});
},

// 检测开发者工具
detectDevTools() {
const checkDevTools = () => {
const widthThreshold = window.outerWidth - window.innerWidth > 160;
const heightThreshold = window.outerHeight - window.innerHeight > 160;

if (widthThreshold || heightThreshold) {
this.handleDevToolsDetected();
}
};

setInterval(checkDevTools, 1000);
},
handleDevToolsDetected() {
// 可以采取的措施:
// 1. 显示警告
// this.$message.error('检测到开发者工具,请关闭');
// return false;

// 2. 跳转到其他页面
// window.location.href = '/warning';

// 3. 清空控制台
console.clear();

// 或者强制停止脚本执行
window.stop();
document.write('');
document.close();
},

}
}
</script>

<style scoped>

</style>

http://www.gsyq.cn/news/47623.html

相关文章:

  • 11.11 CSP-S 模拟赛 T3. square
  • locust高级特性详解
  • 11月12日打卡
  • Java中将String字符串转换为算术表达式并计算
  • 按钮固定在底部
  • locust基础
  • 办公楼设计多少钱一平?广州办公楼设计收费标准
  • 完整教程:Redis GEO 模块深度解析:从原理到高可用架构实践
  • 2025/11/8
  • 2025年广州到吉尔吉斯斯坦海运公司权威推荐榜单:广州到吉尔吉斯斯坦运输/广州到吉尔吉斯斯坦双清门到门/广州到吉尔吉斯斯坦双清源头公司精选
  • 锦州西林瓶灌装压塞机厂家终身维护服务及费用指南
  • 微算法科技(NASDAQ MLGO)开发基于优先级的区块链交易打包算法,提高云边协同计算环境下的交易效率
  • 肇庆化妆品西林瓶灌装线推荐:食品级材质接触部件解析
  • 2025年深色贝母漆优质厂家权威推荐榜单:粉色贝母漆/贝母漆/珍珠白贝母漆源头厂家精选
  • P13508 [OOI 2024] Burenka and Pether
  • etcd的压缩和碎片整理提升性能
  • 局域网扫码枪/局域网二维码接收工具
  • 完整教程:AI编程工具(Cursor/Copilot/灵码/文心一言/Claude Code/Trae)AI编程辅助工具全方位比较
  • 【IEEE出版 | 连续4年稳定EI检索】第五届新能源与电力工程国际学术会议(ICNEPE 2025)
  • 习题解析之:计算圆周率——拉马努金法
  • 2025年隔音棉供货厂家权威推荐榜单:阻燃泡沫/隔热棉/阻燃棉源头厂家精选
  • 火车头采集器教程:夸克网盘批量转存(附工具)
  • 痛苦在虚无中回荡 神最终恩赐了绝望 是爱恨交织的冲撞 你永无力再违抗
  • AI驱动的技术突破:打造先进且合规的医疗数据分类分级新范式
  • 教育行业数据库风险监测方案——基于行标、非侵入式、多维度场景化的安全治理新模式
  • 实用指南:JVM(十)-- 类的加载器
  • Qoder 降价,立即生效!首购 2 美金/月
  • 【SPIE出版 | 快速见刊检索】第二届电子信息工程与智能通信国际研讨会(EIC 2025)
  • 同时支持RTSP/ONVIF/GB28181的平台哪里找?来看EasyGBS!
  • 2025年气流流型检测仪品牌推荐与选择制造企业权威推荐榜单:灌装机气流流型检测仪/气流流型验证服务/烟雾发生器源头厂家精选