Come bloccare il tasto destro del mouse con JavaScript

Bloccare il tasto destro del mouse su una pagina Web può essere utile per limitare l’accesso immediato al menu contestuale del browser. Questa soluzione viene spesso utilizzata per scoraggiare il salvataggio rapido delle immagini o la copia dei contenuti, anche se non rappresenta una protezione realmente sicura.

Un utente esperto può comunque accedere al codice della pagina, disattivare JavaScript o recuperare le immagini attraverso gli strumenti del browser. Per questo motivo il blocco del tasto destro dovrebbe essere considerato soltanto come un deterrente e non come un sistema definitivo di protezione dei contenuti.

Codice JavaScript per disabilitare il tasto destro

Come Bloccare Il Tasto Destro Del Mouse Con JavaScript

Il codice seguente intercetta l’apertura del menu contestuale e la blocca su tutta la pagina. Quando l’utente preme il tasto destro del mouse, viene mostrato un breve messaggio di avviso.

<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Bloccare il tasto destro del mouse</title>
    <style>
        body {
            margin: 0;
            padding: 40px 20px;
            font-family: Arial, sans-serif;
            text-align: center;
            background-color: #ffffff;
            color: #111111;
        }
        a {
            text-decoration: none;
        }
        a:hover {
            text-decoration: underline;
        }
    </style>
</head>
<body>
    <h1>Prova a cliccare con il tasto destro del mouse</h1>
    <p>Il menu contestuale è stato disabilitato tramite JavaScript.</p>
    <script>
        document.addEventListener("contextmenu", function (event) {
            event.preventDefault();
            alert("Spiacenti, il tasto destro del mouse è disabilitato.");
        });
    </script>
</body>
</html>

Versione senza messaggio di avviso

Se preferisci impedire l’apertura del menu contestuale senza mostrare continuamente un messaggio, puoi utilizzare questa versione più discreta:

<script>
    document.addEventListener("contextmenu", function (event) {
        event.preventDefault();
    });
</script>

Fabrizio Cannatelli

Autore e Founder di Informarea, sono un appassionato di informatica e tecnologia da sempre. La voglia di comunicare e di condividere sul Web le mie curiosità e le mie conoscenze, mi ha spinto a lanciarmi nel progetto di questo sito. Nato un po' per gioco e un po' per passione, oggi è diventato una grande realtà.

Fabrizio Cannatelli

Approfondimenti