基础防复制方式:通过js 禁止鼠标右键、禁止鼠标选中文字、禁止快捷键ctrl+u、禁止F12键
var arr = [123, 17, 18];
document.oncontextmenu = new Function("event.returnValue=false;");//禁用右键
document.onselectstart = new Function("event.returnValue=false;");//禁用选中
//禁止 ctrl+u
window.onkeydown = function (e) {
var keyCode = e.keyCode || e.which || e.charCode;
var ctrlKey = e.ctrlKey || e.metaKey;
console.log(keyCode + "--" + keyCode);
if (ctrlKey && keyCode == 85) {
console.log("禁止ctrl+u");
e.preventDefault();
}
if (arr.indexOf(keyCode) > -1) {
console.log("其他");
e.preventDefault();
}
}
//屏蔽F12
document.onkeydown = function () {
if (window.event && window.event.keyCode == 123) {
event.keyCode = 0;
event.returnValue = false;
return false;
}
}
其中,keyCode已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。
https://developer.mozilla.org/zh-CN/docs/Web/API/KeyboardEvent/keyCode
https://www.cnblogs.com/hyq0002013/p/6421409.html
代码可简化为:
document.oncontextmenu = new Function("event.returnValue=false;");//禁用右键
document.onselectstart = new Function("event.returnValue=false;");//禁用选中
//禁止 ctrl+u
window.onkeydown = function (e) {
var ctrlKey = e.ctrlKey || e.metaKey;
if (ctrlKey) {
e.preventDefault();
}
}
//屏蔽F12
document.onkeydown = function () {
if (window.event) {
event.returnValue = false;
return false;
}
}