主题
设置浏览器限制
阻止浏览器F12检查调试工具
方法一: 无限 debugger (推荐)
通过在代码中无限执行debugger语句,不打开开发者工具时,debugger 不会执行的;在打开开发者工具时,会执行到 debugger 语句,无法进一步查看元素。
js
window.eval("setInterval(() => { debugger; }, 500)")
绕过方法
- 使用浏览器自带停用断点功能, 然后继续执行就不会再有断点了
- 修改本地源代码, 因为上述代码使用window.eval执行, 没出现在执行窗口所以会比较难找
方法二: 监控开发者工具(F12)事件
js
// 监听键盘事件
document.addEventListener('keydown', function(event) {
if (event.key === 'F12' || event.keyCode === 123) {
event.preventDefault();
}
});
// 监听右键点击事件
document.addEventListener('contextmenu', function(event) {
event.preventDefault();
});
绕过方法
浏览器自带的菜单按钮选择开发者工具
复制限制
监听copy事件, 不做响应
js
document.addEventListener('copy', function(event) {
event.preventDefault();
})
也可以在复制的同时输出提示信息
js
// 监听 copy 事件
document.addEventListener('copy', function(event) {
// 阻止默认行为
event.preventDefault();
// 获取已选中的文本
var originalContent = window.getSelection().toString();
// 添加新内容(例如在原始内容前添加前缀)
const newContent = `这是添加的内容:${originalContent},这是追加的内容!`;
// 将新内容写回剪贴板
event.clipboardData.setData('text/plain', newContent);
});