在别的地方看的,还没研究

前端:屏蔽F12审查元素,禁止修改页面代码

众所周知,审查元素的情况下,大家都可以随机更改一部分页面的代码,

注入恶意JS等等,这种情况避免也不难,虽然还能看到一部分H5源码,但是无法修改

一、屏蔽F12 审查元素

document.onkeydown = function(){

if(window.event && window.event.keyCode == 123) {
alert("F12被禁用");
event.keyCode=0;
event.returnValue=false;
}
if(window.event && window.event.keyCode == 13) {
window.event.keyCode = 505;
}
if(window.event && window.event.keyCode == 8) {
alert(str+" 请使用Del键进行字符的删除操作!");
window.event.returnValue=false;
}

}

除了屏蔽这个,我们还有其他有趣的设置:


二、屏蔽右键菜单
document.oncontextmenu = function (event){
if(window.event){
event = window.event;
}try{
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
}catch (e){
return false;
}
}

三、屏蔽粘贴
document.onpaste = function (event){
if(window.event){
event = window.event;
}try{
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
}catch (e){
return false;
}
}

四、屏蔽复制
document.oncopy = function (event){
if(window.event){
event = window.event;
}try{
var the = event.srcElement;
if(!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
}catch (e){
return false;
}
}

五、屏蔽剪切
document.oncut = function (event){
if(window.event){
event = window.event;
}try{
var the = event.srcElement;
if(!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
}catch (e){
return false;
}
}

这种很适合小说网站,毕竟版权珍贵,被别人随意copy走内容就不好了

六、屏蔽选中
document.onselectstart = function (event){
if(window.event){
event = window.event;
}try{
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
} catch (e) {
return false;
}
}
 
======================评论里的==
  1.  
    'use strict';
  2.  
    (function() {
  3.  
    function R(a) {
  4.  
    let ona = "on" + a;
  5.  
    if (window.addEventListener){
  6.  
    window.addEventListener(a, function(e) {
  7.  
    for (let n = e.originalTarget; n; n = n.parentNode) n[ona] = null;
  8.  
    }, true);
  9.  
    }
  10.  
    window[ona] = null;
  11.  
    document[ona] = null;
  12.  
    if (document.body) document.body[ona] = null;
  13.  
    }
  14.  
    R("contextmenu");
  15.  
    R("click");
  16.  
    R("mousedown");
  17.  
    R("mouseup");
  18.  
    R("paste");
  19.  
    R("cut");
  20.  
    R("copy");
  21.  
    R("selectstart");
  22.  
    })()
原文地址:https://www.cnblogs.com/dudududadada/p/13553083.html