Hoe schakel ik rechtsklikken op mijn webpagina uit?

Kan ik rechtsklikken op mijn webpagina uitschakelen zonder JavaScript te gebruiken? Ik vraag dit omdat de meeste browsers gebruikers toestaan JavaScript uit te schakelen.

Zo niet, hoe gebruik ik JavaScript om rechtsklikken uit te schakelen?


Antwoord 1, autoriteit 100%

Je kunt dat doen met JavaScript door een gebeurtenislistener toe te voegen voor de gebeurtenis “contextmenu” en de preventDefault()methode:

document.addEventListener('contextmenu', event => event.preventDefault());

Dat gezegd hebbende: DOE HET NIET.

Waarom? Omdat het niets anders oplevert dan vervelende gebruikers. Veel browsers hebben ook een beveiligingsoptie om het uitschakelen van het rechtsklikmenu (contextmenu) toch niet toe te staan.

Ik weet niet zeker waarom je dat zou willen. Als het een misplaatste overtuiging is dat je je broncode of afbeeldingen op die manier kunt beschermen, denk dan nog eens goed na: dat kan niet.


Antwoord 2, autoriteit 19%

NIET

Gewoon niet doen.

Wat u ook doet, u kunt niet voorkomen dat gebruikers volledige toegang hebben tot alle gegevens op uw website. Elk Javascript dat u codeert, kan worden weergegeven door eenvoudig Javascript in de browser uit te schakelen (of een plug-in zoals NoScript te gebruiken). Bovendien is er geen manier om de mogelijkheid van een gebruiker uit te schakelen om eenvoudig “bron te bekijken” of “pagina-informatie te bekijken” (of wget te gebruiken) voor uw site.

Het is de moeite niet waard. Het zal niet echt werken. Het zal uw site actief vijandig maken voor gebruikers. Ze zullen dit merken en stoppen met bezoeken. Het heeft geen voordelen om dit te doen, alleen verspilde moeite en verloren verkeer.

Niet doen.

Update: Het lijkt erop dat dit kleine onderwerp in de loop van de tijd vrij controversieel is gebleken. Toch ben ik door dit antwoord op deze vraag. Soms is het juiste antwoord advies in plaats van een letterlijke reactie.

Mensen die op deze vraag struikelen in de hoop om uit te zoeken hoe ze aangepast moeten maken contextmenu’s moeten ergens anders kijken, zoals deze vragen:


Antwoord 3, Autoriteit 12%

De oorspronkelijke vraag ging over hoe u met de rechtermuisknop kunt stoppen, aangezien de gebruiker JavaScript kan uitschakelen : welke klinkt sneed en kwaad (vandaar de negatieve reacties) – maar alle duplicaten hierheen van de duplicaten vragen om minder kwade doeleinden.

Zoals de rechtermuisknop in HTML5-games gebruiken, bijvoorbeeld. Dit kan worden gedaan met de hierboven inline-code, of een beetje mooier is zoiets:

document.addEventListener("contextmenu", function(e){
    e.preventDefault();
}, false);

Maar als u een game maakt, onthoud dan dat de rechterklik-knop de ContextMenu -evenement fireert – maar het vuurt ook de gewone MOUSEDOWN en MUIZEUK evenementen ook. U moet dus de van het evenement controleren, welke onroerend goed te zien of het de linker (die === 1), midden (welke === 2), of rechts (welke === 3) muis was knop die het evenement afvuurt.

Hier is een voorbeeld in jQuery – Merk op dat het drukken op de rechtermuisknop drie evenementen brandt: het Muisedown-evenement, het ContextMenu-evenement en de MouseUp-evenement.

// With jQuery
$(document).on({
    "contextmenu": function(e) {
        console.log("ctx menu button:", e.which); 
        // Stop the context menu
        e.preventDefault();
    },
    "mousedown": function(e) { 
        console.log("normal mouse down:", e.which); 
    },
    "mouseup": function(e) { 
        console.log("normal mouse up:", e.which); 
    }
});

Dus als u de linker- en rechter muisknoppen in een game gebruikt, moet u wat voorwaardelijke logica in de muishandlers doen.


Antwoord 4, Autoriteit 9%

Als u er niet om geeft om de gebruiker met een bericht te waarschuwen, klikt u telkens wanneer ze met de rechtermuisknop klikken, dit aan uw lichaamstag

toevoegen

<body oncontextmenu="return false;">

Hiermee blokkeert u alle toegang tot het contextmenu (niet alleen vanuit de rechtermuisknop, maar ook van het toetsenbord).

Zoals vermeld in de andere antwoorden, is er echter echt geen zin om een ​​rechterklik-disabler toe te voegen. Iedereen met Basic Browser-kennis kan de bron bekijken en de informatie extraheren die ze nodig hebben.


Antwoord 5, Autoriteit 4%

Als u een jQuery-fan bent, gebruikt u dit

   $(function() {
        $(this).bind("contextmenu", function(e) {
            e.preventDefault();
        });
    }); 

Antwoord 6, Autoriteit 3%

Ten eerste, u kunt dit niet bereiken zonder gebruik te maken van een clientskantiek. Dit is waar de JavaScript-rijdt.

Ten tweede, als u probeert te bepalen wat een eindgebruiker van uw site kan consumeren, moet u opnieuw nadenken over hoe u die informatie weergeeft. Een afbeelding heeft een openbare url die kan worden opgehaald via HTTP zonder dat er een browser nodig is.

Verificatie kan bepalen wie toegang heeft tot welke bronnen.

Ingesloten watermerken in afbeeldingen kunnen aantonen dat de afbeelding van een specifieke persoon/bedrijf was.

Uiteindelijk is resourcebeheer eigenlijk gebruikers-/gastenbeheer.

De eerste regel van internet: als je niet wilt dat het wordt gebruikt, maak het dan niet openbaar!

De tweede regel van internet: als je niet wilt dat het wordt afgenomen, zet het dan niet op internet!


Antwoord 7, autoriteit 3%

Als het uw doel is om te voorkomen dat mensen uw afbeeldingen kunnen downloaden, zoals de meeste mensen hebben gezegd, is het uitschakelen van rechtsklikken vrijwel ineffectief.

Ervan uitgaande dat u afbeeldingen probeert te beschermen, zijn de alternatieve methoden –

Met een flash player kunnen gebruikers ze niet als zodanig downloaden, maar ze kunnen wel gemakkelijk een schermopname maken.

Als je meer akward wilt zijn, maak dan van de afbeelding de achtergrond van een div, met daarin een transparante afbeelding, à la –

<div style="background-image: url(YourImage.jpg);">
   <img src="transparent.gif"/>
</div>

zal voldoende zijn om de toevallige diefstal van uw afbeeldingen af te schrikken (zie hieronder voor een voorbeeld), maar zoals met al deze technieken, is het triviaal om te verslaan met een basiskennis van html.


Antwoord 8, autoriteit 3%

Je kunt niet bereiken wat je vraagt zonder Javascript te gebruiken. Elke andere technologie die u wilt gebruiken, kan alleen helpen bij het samenstellen van de webpagina aan de serverzijde die naar de browser moet worden verzonden.

Er is gewoon geen goede oplossing en er is geen oplossingsperiode zonder Javascript.


Antwoord 9, Autoriteit 3%

Als uw doel is om gebruikers te wekken om eenvoudigweg uw afbeeldingen op te slaan, kunt u ook controleren of het geklikte doel een afbeelding is, alleen met de rechtermuisknop in dat geval schakelen. Dus met de rechtermuisknop kan voor andere doeleinden worden gebruikt. Genomen uit de hierboven code:

document.addEventListener("contextmenu", function(e){
    if (e.target.nodeName === "IMG") {
        e.preventDefault();
    }
}, false);

Dit is gewoon om de gemakkelijkste manier om uw afbeeldingen weg te nemen, maar het kan nog steeds worden gedaan.


Antwoord 10, Autoriteit 2%

<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src='https://code.jquery.com/jquery-1.4.4.min.js'></script>
<script type='text/javascript'>//<![CDATA[ 
$(function(){
$('img').bind('contextmenu', function(e){
return false;
}); 
});//]]>  
</script>
</head>
<body>
    <img src="https://www.winergyinc.com/wp-content/uploads/2010/12/ajax.jpg"/>
</body>


Antwoord 11

Doe het hieronder leuk (het werkt ook op Firefox):

$(document).on("contextmenu",function(e){
     if( e.button == 2 ) {
         e.preventDefault();
          callYourownFucntionOrCodeHere();
     }
return true;
});

Antwoord 12

Als u gewoon met de rechtermuisknop wilt uitschakelen voor Afbeeldingen opslaan op de webpagina, ga met deze CSS-oplossing:

your-img-tag {
  pointer-events: none;
}

Voordat op dezelfde afbeelding wordt geïmplementeerd:

na geïmplementeerd op dezelfde afbeelding:

Getest in zowel chroom en firefox .


Antwoord 13

Plaats deze code in uw <head>TAG van uw pagina.

<script type="text/javascript"> 
function disableselect(e){  
return false  
}  
function reEnable(){  
return true  
}  
//if IE4+  
document.onselectstart=new Function ("return false")  
document.oncontextmenu=new Function ("return false")  
//if NS6  
if (window.sidebar){  
document.onmousedown=disableselect  
document.onclick=reEnable  
}
</script>

Hiermee wordt rechtsklik op uw hele webpagina uitgeschakeld, maar alleen wanneer JavaScript is ingeschakeld.


Antwoord 14

Ik had deze code gebruikt om met de rechtermuisknop op een webpagina te klikken, het werkt goed. U kunt deze code

gebruiken

jQuery(document).ready(function(){
  jQuery(function() {
        jQuery(this).bind("contextmenu", function(event) {
            event.preventDefault();
            alert('Right click disable in this site!!')
        });
    });
});
<html>
  <head>
    <title>Right click disable in web page</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  </head>
  <body>
    You write your own code
  </body>
</html>

Antwoord 15

Natuurlijk, zoals in alle andere opmerkingen hier, werkt dit gewoon niet.

Ik heb ooit een eenvoudige java-applet voor een klant gemaakt die het vastleggen van een afbeelding via schermopname dwong en je zou een vergelijkbare techniek kunnen overwegen. Het werkte, binnen de beperkingen, maar ik denk nog steeds dat het tijdverspilling was.


Antwoord 16

   <script>
        window.oncontextmenu = function () {
            console.log("Right Click Disabled");
            return false;
        }
    </script>

Antwoord 17

Probeer dit

<script language=JavaScript>
//Disable right mouse click Script
var message="Function Disabled!";
function clickIE4(){
if (event.button==2){
alert(message);
return false;
 }
}
function clickNS4(e){
if (document.layers||document.getElementById&&!document.all){
if (e.which==2||e.which==3){
alert(message);
return false;
}
}
}
if (document.layers){
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS4;
}
else if (document.all&&!document.getElementById){
document.onmousedown=clickIE4;
}
document.oncontextmenu=new Function("alert(message);return false")
</script>

Antwoord 18

Het uitschakelen van rechtsklikken op uw webpagina is eenvoudig. Er zijn slechts een paar regels JavaScript-code die dit werk zullen doen. Hieronder staat de JavaScript-code:

$("html").on("contextmenu",function(e){
   return false;
});

In de bovenstaande code heb ik de tag geselecteerd. Nadat u slechts die drie regels code heeft toegevoegd, wordt rechtsklikken op uw webpagina uitgeschakeld.

Bron: Schakel rechtsklikken, kopiëren en knippen op webpagina’s uit met jQuery


Antwoord 19

$(document).ready(function () {
            document.oncontextmenu = document.body.oncontextmenu = function () { return false; }
        });

Antwoord 20

Ik weet dat ik te laat ben, maar ik wil een aantal aannames en verklaringen maken voor het antwoord dat ik ga geven.

Kan ik rechtsklikken uitschakelen

Kan ik rechtsklikken op mijn webpagina uitschakelen zonder Javascript te gebruiken?

Ja, door JavaScript te gebruiken, kunt u elke gebeurtenis uitschakelen en dat kunt u meestal alleen met javaScript doen. Hoe, alles wat je nodig hebt is:

  1. Een werkende hardware

  2. Een website of ergens waar u meer te weten kunt komen over de sleutelcodes. Omdat je ze nodig hebt.

Laten we nu zeggen dat je de enter-toets wilt blokkeren. Hier is de code:

function prevententer () {
 if(event.keyCode == 13) {
  return false;
 }
}

Gebruik dit voor de rechtermuisknop:

event.button == 2

in de plaats van event.keyCode. En je blokkeert het.

Ik wil dit vragen, omdat de meeste browsers gebruikers toestaan ​​het door JavaScript uit te schakelen.

U hebt gelijk, de browsers kunnen u gebruiken JavaScripten JavaScript doet de hele taak voor u. Je hoeft niet alles in te stellen, hoeft alleen het scriptattribuut in het hoofd nodig te hebben.

Waarom zou u het niet uitschakelen?

De hoofd en het snelle antwoord daarop zou zijn, gebruikers zullen het niet leuk vinden . Iedereen heeft vrijheid nodig, niemand, ik bedoel, niemand wil geblokkeerd of uitgeschakeld, een paar minuten geleden was ik op een site, die me had geblokkeerd van de rechterlopend klikken en ik voelde me? Moet u uw broncode beveiligen? Dan hier ctrl+shift+JIk heb de Consolegeopend en nu kan ik naar HTML-codeTAB. Ga je gang en stop me. Dit voegt geen van de beveiligingslaag toe aan uw app.

Er zijn veel gebruikersvolle menu’s rechts, zoals kopiëren, plakken, Google zoeken naar ‘Tekst’ (in Chrome) en nog veel meer. Dus de gebruiker zou graag gemakkelijke toegang krijgen in plaats van het onthouden van veel sneltoetsen. Iedereen kan de context nog steeds kopiëren, de afbeelding opslaan of doen wat hij wil.

Browsers gebruiken muisvaart: Enkele browsers zoals Opera Gebruikt muisnavigatie, dus als u deze uitschakelt, zou de gebruiker uw gebruikersinterface en de scripts zeker haten.

Dus dat was de basis, ik ging nog wat meer over het opslaan van de broncode Hehehe, maar laat het het antwoord op je vraag zijn.

Verwijzing naar de keycodes:

-toets en muisknopcode:

http://www.w3schools.com/jsref/event_button.asp

https://developer.mozilla.org/en- US/docs/Web/API/event.button(wordt ook gewaardeerd door de gebruikers).

Waarom rechtsklikken niet uitschakelen:

http://www.sitepoint.com/dont-disable-right-click /


Antwoord 21

Een paar dingen om te overwegen:

Browserplug-ins zoals “rechts klikken inschakelen” in de Chrome Store bestaan niet voor niets en u kunt er niet omheen. Er is LETTERLIJK NIETS dat u kunt doen om te voorkomen dat mensen uw inhoud downloaden, omdat ze het letterlijk moeten downloaden om het zelfs maar in hun browser te zien; Mensen proberen het, maar het is er altijd.

Als inhoud niet openbaar mag zijn, plaats deze dan in het algemeen niet online.

Het niet kunnen rechtsklikken is ook een toegankelijkheidsprobleem en komt in veel gevallen neer op onwettige discriminatie van blinden, gehandicapten of ouderen. Controleer de lokale wetten, maar in de VS is het actief tegen de wet in de vorm van de federale ADA, aangezien blinden of ouderen met problemen met het gezichtsvermogen een wettelijk beschermde klasse zijn.

Dus in plaats van dit te doen en veel tijd en moeite te verspillen, moet je niet eens de moeite nemen om dit te doen. Het kan ervoor zorgen dat uw bedrijf wordt aangeklaagd of dat ze niet slagen voor een nalevingsaudit.


Antwoord 22

Probeer deze code om de optie element inspecteren uit te schakelen

   jQuery(document).ready(function() {
    function disableSelection(e) {
        if (typeof e.onselectstart != "undefined") e.onselectstart = function() {
            return false
        };
        else if (typeof e.style.MozUserSelect != "undefined") e.style.MozUserSelect = "none";
        else e.onmousedown = function() {
            return false
        };
        e.style.cursor = "default"
    }
    window.onload = function() {
        disableSelection(document.body)
    };
    window.addEventListener("keydown", function(e) {
        if (e.ctrlKey && (e.which == 65 || e.which == 66 || e.which == 67 || e.which == 70 || e.which == 73 || e.which == 80 || e.which == 83 || e.which == 85 || e.which == 86)) {
            e.preventDefault()
        }
    });
    document.keypress = function(e) {
        if (e.ctrlKey && (e.which == 65 || e.which == 66 || e.which == 70 || e.which == 67 || e.which == 73 || e.which == 80 || e.which == 83 || e.which == 85 || e.which == 86)) {}
        return false
    };
    document.onkeydown = function(e) {
        e = e || window.event;
        if (e.keyCode == 123 || e.keyCode == 18) {
            return false
        }
    };
    document.oncontextmenu = function(e) {
        var t = e || window.event;
        var n = t.target || t.srcElement;
        if (n.nodeName != "A") return false
    };
    document.ondragstart = function() {
        return false
    };
});

Antwoord 23

doe dit gewoon

Need DoND Need JavaScript-code

<body oncontextmenu="return false">


Antwoord 24

JavaScript:

document.getElementsByTagName("html")[0].setAttribute("oncontextmenu", "return false"); 

Antwoord 25

Ja, u kunt het uitschakelen met HTML.
Gewoon toevoegen oncontextmenu="return false;"op uw lichaam of element.
Het is heel eenvoudig en gebruikt gewoon geldige HTML, geen jQuery of JS.


Antwoord 26

Eenvoudige manier:

<body oncontextmenu="return false" onselectstart="return false" ondragstart="return false">

Antwoord 27

Belangrijke opmerking: Het hangt af van browser en OS om een ​​dergelijke preventie of niet toestaan ​​

Should je het doen? Nee . Want het zal niet voorkomen dat de gebruiker, maar het zal alleen maar ergert hem / haar.

Kun je het gebruiken? Ja . Voorbeelden: In een aantal web-apps waar je wilt op maat gemaakte pop-up menu, in-game waar de gebruikers kunnen worden geïrriteerd wanneer ten onrechte ze klik met de rechtermuisknop, en andere gevallen

.

Chrome (V65) in Ubuntu 16.04 = U CAN uitschakelen rechts-klik.

Chrome (V65) in Mac OS 10.11 = U CAN NOT uitschakelen rechts-klik.

Chrome (V65) in Windows 7 = U CAN NOT uitschakelen rechts-klik.

Firefox (v41) in Mac OS 10.11 = U CAN uitschakelen rechts-klik.

Firefox (V43) in Windows 7 = U CAN uitschakelen rechts-klik.

// Vanilla JS way
document.addEventListener('contextmenu', function(e){
    e.preventDefault();
});
// jQuery way
$(document).bind('contextmenu', function(e) {
    e.preventDefault();
});

Antwoord 28

Met deze functie kan schakelen rechts click.You linker muisknop en tik uitschakelen ook door checking 1 and 0correspondeert

document.onmousedown = rightclickD;
            function rightclickD(e) 
            { 
                e = e||event;
                console.log(e);
                if (e.button == 2) {
                //alert('Right click disabled!!!'); 
                 return false; }
            }

Other episodes