# Blokada prawego przycisku myszy i&nbsp;zrzutu ekranu w&nbsp;WordPress

Dość irracjonalnie coraz częściej pojawia się pytanie **jak zablokować prawy przycisk myszy?**, aby uniemożliwić kopiowanie treści i podobnie sprawa się ma z możliwością wykonywania zrzutów ekranu i ostatecznie blokadą drukowania.

Hipotetycznie blokady te mają utrudnić złodziejom treści możliwość kopiowania zdjęć, treści i innych elementów – poniżej znajdują się sposoby na utrudnienie im życia, ale w podsumowaniu odnajdziesz też odpowiedź na pytanie *dlaczego tego NIE robić*.

## **Jak zablokować prawy przycisk myszy?**

Aby zablokować prawy przycisk myszy dodaj do stopki następujący kod JavaScript:

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

Dzięki temu próba użycia prawego klawisza myszki będzie niemożliwa – nic się nie stanie, jednak nie zadziała to w każdej konfiguracji i każdej przeglądarce. Są już sprytne dodatki do przeglądarek, które takie blokady obchodzą.

## **Jak zablokować kopiowanie i zaznaczanie treści (CTRL-A i CTRL-C)?**

Poza myszką skopiować można też tekst poprzez skróty na klawiaturze.

Poniższy kod zablokuje zaznaczanie tekstu, skrót zaznaczania wszystkiego oraz dzięki temu samo kopiowanie.

`function disableselect(e) {
    return false;
}

function reEnable() {
    return true;
}

document.onselectstart = new Function("return false");

if (window.sidebar) {
    document.onmousedown = disableselect;
    document.onclick = reEnable;
}`

## **Blokada wykonywania zrzutów ekranu**

Tutaj niestety muszę Ciebie zasmucić – nie można zablokować tej opcji, ale można dać użytkownikowi do zrozumienia, że jest to niemile widziane, a jednocześnie utrudnić użytkownikowi życie.

`jQuery(document).ready(function() {
jQuery(window).keyup(function(e){
      if(e.keyCode == 44){
		$("body").html("<h1 style='padding:25px;'><b>Zrzuty ekranu nie są dozwolone.</b></h1>");

      }

    }); });`

## **Blokada drukowania strony**

Pozostała ostatnia sprawa – co zrobić, aby użytkownik nie mógł wydrukować strony?

Wystarczy prosty kod CSS dodany do sekcji HEAD witryny lub poprzez Personalizację (Wygląd > Personalizacja > Dodatkowy CSS).

`@media print {
body { display:none }
}`

## **Najważniejsze – Dlaczego nie warto tego robić?**

Oto kilka powodów, z powodu których nie powinieneś tego robić.

- Ochroni to Twoją treść tylko minimalnie – ktokolwiek będzie chciał skopiować tekst lub element odnajdzie te elementy w źródle czy z pomocą innego narzędzia,

- Zmniejszy prawdopodobieństwo, że ktoś udostępnij Twoją treść „legalnie” czyli jako cytat z wartościowym linkiem do oryginału,

- W menu prawego przycisku myszy znajduje się też wiele innych narzędzi – wtyczki społecznościowe, dodatki ułatwiające prace i spowoduje to irytację użytkownika.

## **Alternatywne rozwiązanie **

Skorzystanie z tego rozwiązania, spowoduje dodanie linka do strony zaraz po skopiowanym tekście jak na poniższej animacji:

![](https://jaworowi.cz/wp-content/uploads/2017/11/Webp.net-gifmaker-1.gif)

Wystarczy dodać poniższy kod (JavaScript):

`function addLink() {
        var selection = window.getSelection(),
            pagelink = '<br /><br /> Oryginalny tekst: ' + document.location.href,
            copytext = selection + pagelink,
            newdiv = document.createElement('div');

        newdiv.style.position = 'absolute';
        newdiv.style.left = '-99999px';

        document.body.appendChild(newdiv);
        newdiv.innerHTML = copytext;
        selection.selectAllChildren(newdiv);

        window.setTimeout(function () {
            document.body.removeChild(newdiv);
        }, 100);
    }

    document.addEventListener('copy', addLink);`

Źródło kodów: [https://stackoverflow.com](https://stackoverflow.com)
