document.addEventListener('contextmenu', event => event.preventDefault(), false);
document.onkeydown = function(e) {
if (e.ctrlKey && (e.keyCode === 67 || e.key === 'c')) {
return false;
}
};
这段代码首先通过`addEventListener`方法禁止了网页的右键菜单(即右键点击时弹出的上下文菜单),这是通过监听`contextmenu`事件并调用`preventDefault`方法来实现的。
接下来,通过给`document`对象添加一个`onkeydown`事件监听器,来检测用户是否同时按下了`Ctrl`键和`C`键(无论是通过键盘的`keyCode`属性(对于较旧的浏览器)还是`key`属性(对于现代浏览器)来判断)。如果用户同时按下了这两个键,则通过返回`false`来阻止默认的复制行为。
请注意,虽然这种方法可以在一定程度上防止用户通过常见的操作复制网页内容,但它并不是完全安全的。例如,用户仍然可以通过浏览器的开发者工具(如Chrome的DevTools)来复制网页上的元素或查看网页的源代码,进而获取到所需的内容。此外,一些用户可能会使用第三方扩展或脚本来绕过这种限制。因此,在需要保护内容不被复制的场景中,除了前端代码的限制外,还需要考虑后端的安全措施。