JS禁止F12键和右键操作控制台

本文介绍了如何使用JavaScript禁用网页上的鼠标右键点击事件、阻止浏览器默认的右键菜单操作,以及如何监听并阻止F12快捷键的操作。这些技巧对于保护网站内容不被轻易复制或调试有一定的作用。
禁止鼠标点击事件
document.onmousedown = function mdClick(event) {
    var e = event || window.event || arguments.callee.caller.arguments[0];
    if (e.button == 2 || e.button == 3) {
        return false;
    }
};
禁止浏览器默认右键菜单操作
document.oncontextmenu = new Function("return false;");
监听键盘F12键操作
document.onkeydown = document.onkeyup = document.onkeypress = function(event) {
    var e = event || window.event || arguments.callee.caller.arguments[0];
    if (e && e.keyCode == 123) {
        e.returnValue = false;
        return (false);
    }
}
可以使用 `chrome.contextMenus` API 在右键菜单中添加一个选项,然后使用 `chrome.devtools.panels` API 在开发者工具面板中注入脚本,以便在用户单击右键菜单项时运行该脚本。以下是一个简单的示例: 1. 在 `manifest.json` 文件中声明 `contextMenus` `devtools` 权限: ```json { "name": "My extension", "version": "1.0", "permissions": [ "contextMenus", "devtools", "activeTab" ], "background": { "scripts": ["background.js"] }, "manifest_version": 2 } ``` 2. 在 `background.js` 文件中创建一个右键菜单项,并将其与 `devtools` 面板中的脚本关联起来: ```javascript chrome.contextMenus.create({ id: "myContextMenu", title: "My Context Menu", contexts: ["all"] }); chrome.contextMenus.onClicked.addListener(function(info, tab) { if (info.menuItemId === "myContextMenu") { chrome.devtools.panels.openResource("panel.html", function(panel) { panel.onShown.addListener(function(panelWindow) { panelWindow.runScript(info); }); }); } }); ``` 3. 在 `panel.html` 文件中注入要运行的脚本: ```html <!DOCTYPE html> <html> <head> <title>My Panel</title> <script src="panel.js"></script> </head> <body> </body> </html> ``` 4. 在 `panel.js` 文件中编写要运行的脚本: ```javascript function runScript(info) { // 获取用户选中的 DOM 元素 var selectedElement = info.selectionText; // 在控制台中输出选中的 DOM 元素 console.log(selectedElement); } ``` 当用户在网页中选择一个 DOM 元素并单击右键时,右键菜单项 "My Context Menu" 将会显示。如果用户单击该菜单项,则会在开发者工具面板中打开 `panel.html` 文件,并将选中的 DOM 元素传递给 `panel.js` 脚本中的 `runScript()` 函数。在这个函数中,你可以执行任何你想要的操作,例如在控制台中输出选中的 DOM 元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值