← Wszystkie wpisy

Poradniki

Odblokuj kopiowanie, zaznaczanie i prawy przycisk na dowolnej stronie

Zaskakująca liczba stron nadal próbuje "chronić" swoją treść, wyłączając zaznaczanie tekstu, polecenie kopiowania i menu prawego przycisku. Rzadko powstrzymuje to kogokolwiek zdeterminowanego, ale nieustannie irytuje ludzi, którzy chcą po prostu złapać cytat lub numer telefonu. Dzięki JustZix możesz włączyć to wszystko z powrotem w kilka sekund.

Dlaczego strony blokują kopiowanie

Strony wyłączają kopiowanie i zaznaczanie na trzy typowe sposoby: regułą CSS (user-select: none), nasłuchiwaczami zdarzeń JavaScript wywołującymi preventDefault() na copy, selectstart i contextmenu oraz czasem przezroczystą nakładką na wierzchu tekstu. JustZix pozwala zneutralizować każdą warstwę, bo twoja reguła działa w stronie, a ty kontrolujesz zarówno CSS, jak i JS.

Krok 1: wymuś z powrotem zaznaczanie za pomocą CSS

Utwórz regułę CSS w JustZix dopasowaną do strony (lub do * dla wszystkiego) i wklej to. Flaga !important nadpisuje własny arkusz stylów strony.

* {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  user-select: text !important;
  cursor: auto !important;
}

Samo to naprawia większość przypadków "nie mogę zaznaczyć tekstu". Jeśli strona nadal się opiera, blokada pochodzi z JavaScriptu.

Krok 2: powstrzymaj nasłuchiwacze JavaScript

Dodaj regułę JS dla tego samego adresu URL. Sztuczka polega na zarejestrowaniu swoich nasłuchiwaczy w fazie przechwytywania (trzeci argument true), aby działały przed nasłuchiwaczami strony, a następnie wywołaniu stopImmediatePropagation(), aby blokujący kod strony nigdy się nie uruchomił.

['copy', 'cut', 'paste', 'selectstart', 'contextmenu', 'mousedown'].forEach(function (type) {
  document.addEventListener(type, function (e) {
    e.stopImmediatePropagation();
  }, true);
});

JustZix uruchamia twój JS raz na załadowanie strony, więc to przyczepia się wcześnie i obejmuje cały dokument. Ponieważ tylko zatrzymujesz propagację, domyślne zachowanie przeglądarki (faktyczne kopiowanie, faktyczne pokazanie menu) nadal działa.

Krok 3: wyczyść wbudowane procedury obsługi

Niektóre strony ustawiają oncontextmenu="return false" bezpośrednio na elemencie <body>. Nasłuchiwacze fazy przechwytywania nie zawsze pokonują atrybuty wbudowane, więc wymaż je też. Ten fragment jest defensywny: sprawdza, czy element istnieje, zanim go dotknie.

var targets = [document.body, document.documentElement];
targets.forEach(function (el) {
  if (!el) return;
  el.oncontextmenu = null;
  el.oncopy = null;
  el.onselectstart = null;
  el.ondragstart = null;
});

Składanie tego razem

Dla upartej strony użyj wszystkich trzech: reguły CSS plus jednej reguły JS łączącej kroki 2 i 3. Połączona reguła JS wygląda tak:

['copy', 'cut', 'paste', 'selectstart', 'contextmenu', 'mousedown', 'dragstart'].forEach(function (type) {
  document.addEventListener(type, function (e) {
    e.stopImmediatePropagation();
  }, true);
});

var el = document.body;
if (el) {
  el.oncontextmenu = null;
  el.oncopy = null;
  el.onselectstart = null;
}

Gdy tekst jest wewnątrz nakładki

Jeśli widzisz tekst, ale zaznaczanie chwyta pusty box, na wierzchu siedzi niewidoczny element. Znajdź go w DevTools i wyłącz zdarzenia wskaźnika za pomocą CSS:

.paywall-overlay,
.copy-guard,
[class*="overlay"] {
  pointer-events: none !important;
}

Bądź ostrożny z szerokimi selektorami typu [class*="overlay"] — mogą wyłączyć przyciski, których naprawdę potrzebujesz. Wybierz dokładną nazwę klasy, gdy już ją zidentyfikujesz.

Wskazówki dla niezawodnych reguł

Przejrzyj gotowe przykłady, aby zdobyć wersję tej reguły na jedno kliknięcie, a jeśli jeszcze jej nie zainstalowałeś, pobierz JustZix dla Chrome, Firefox, Edge lub Opery. Gdy kopiowanie znów działa, możesz też chcieć przeczytać nasz towarzyszący wpis o automatycznej akceptacji bannerów cookie.

Oceń ten wpis

Brak ocen — oceń jako pierwszy.

Wypróbuj samodzielnie

Zainstaluj JustZix i wklej dowolny snippet z tego artykułu. Dwie minuty od zera do działającej reguły na wszystkich Twoich urządzeniach.

Pobierz JustZix

Funkcje · Jak to działa · Przykłady · Zastosowania