JavaScript-防止右键单击Scrollbar上以查看页面源代码



目的是通过单击右键单击查看页面源来防止用户查看网页源代码。也不要进行任何内容复制粘贴。

$(document).ready(function () {
  $('body')
    .attr('unselectable', 'on')
    .css('user-select', 'none')
    .on('selectstart dragstart', false);
//Disable cut copy paste
$('body').bind('cut copy paste', function (e) {
    e.preventDefault();
});
//Disable mouse right click
$("body").on("contextmenu",function(e){
    return false;
});
});

我使用了此代码,除了2种情况:

外,它的工作原理很好

1-滚动条。用户仍然可以右键单击并选择查看页面源。

2- ctrl u(Chrome shart Cut tor Let Lot Shos Sov)

有什么建议?

编辑:

禁用Ctrl U
document.onkeydown = function(e){
        if (e.ctrlKey &&
            (e.keyCode === 67 ||
                e.keyCode === 86 ||
                e.keyCode === 85 ||
                e.keyCode === 117)) {
            return false;
        } else {
            return true;
        }
    };

您无法阻止人们看到浏览器源代码。即使您禁用右键单击和CTRL U,它们仍然可以看到它。为了使浏览器渲染它,浏览器将必须接收代码,除非您可以控制浏览器环境(例如娱乐信息亭),否则您将进行一场失败的战斗,试图阻止人们看到源代码。

例如,如果您使用Chrome并击中F12,则可以看到它。另外,如果您使用某种网络数据包sniffer,则可以再次看到它。

使用类似的东西

document.onkeydown = function(e) {
    if (e.ctrlKey && 
        (e.keyCode === 67 || 
         e.keyCode === 86 || 
         e.keyCode === 85 || 
         e.keyCode === 117)) {
        console.log('not allowed');
        return false;
    } else {
        return true;
    }

};

限制ctrl u。

根据Mozilla的键编码

CANCEL=     3
HELP=   6
BACK_SPACE=     8
TAB=    9
CLEAR=  12
RETURN=     13
ENTER=  14
SHIFT=  16
CONTROL=    17
ALT=    18
PAUSE=  19
CAPS_LOCK=  20
KANA=   21
HANGUL=     21
JUNJA=  23
FINAL=  24
HANJA=  25
KANJI=  25
ESCAPE=     27
CONVERT=    28
NONCONVERT=     29
ACCEPT=     30
MODECHANGE=     31
SPACE=  32
PAGE_UP=    33
PAGE_DOWN=  34
END=    35
HOME=   36
LEFT=   37
UP=     38
RIGHT=  39
DOWN=   40
SELECT=     41
PRINT=  42
EXECUTE=    43
PRINTSCREEN=    44
INSERT=     45
DELETE=     46
0=  48
1=  49
2=  50
3=  51
4=  52
5=  53
6=  54
7=  55
8=  56
9=  57
SEMICOLON=  59
EQUALS=     61
A=  65
B=  66
C=  67
D=  68
E=  69
F=  70
G=  71
H=  72
I=  73
J=  74
K=  75
L=  76
M=  77
N=  78
O=  79
P=  80
Q=  81
R=  82
S=  83
T=  84
U=  85
V=  86
W=  87
X=  88
Y=  89
Z=  90
CONTEXT_MENU=   93
SLEEP=  95
NUMPAD0=    96
NUMPAD1=    97
NUMPAD2=    98
NUMPAD3=    99
NUMPAD4=    100
NUMPAD5=    101
NUMPAD6=    102
NUMPAD7=    103
NUMPAD8=    104
NUMPAD9=    105
MULTIPLY=   106
ADD=    107
SEPARATOR=  108
SUBTRACT=   109
DECIMAL=    110
DIVIDE=     111
F1=     112
F2=     113
F3=     114
F4=     115
F5=     116
F6=     117
F7=     118
F8=     119
F9=     120
F10=    121
F11=    122
F12=    123
F13=    124
F14=    125
F15=    126
F16=    127
F17=    128
F18=    129
F19=    130
F20=    131
F21=    132
F22=    133
F23=    134
F24=    135
NUM_LOCK=   144
SCROLL_LOCK=    145
COMMA=  188
PERIOD=     190
SLASH=  191
BACK_QUOTE=     192
OPEN_BRACKET=   219
BACK_SLASH=     220
CLOSE_BRACKET=  221
QUOTE=  222
META=   224

限制鼠标右键单击滚动条尝试以下

var clickedOnScrollbar = function(mouseX)
{
   if( $(window).outerWidth() <= mouseX ){
        return true;   
    } 
    }
    $(document).mousedown(function(e){ 
    var isRightMB;
        e = e || window.event;
        if ("which" in e)  
            isRightMB = e.which == 3; 
        else if ("button" in e)  
            isRightMB = e.button == 2; 

        if(isRightMB){  
     if( clickedOnScrollbar(e.clientX) ){
        alert("Right click is not allowed"); 
      }
} 
    });

最新更新