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ł
- Dopasuj regułę tak wąsko, jak potrafisz. Wzorzec specyficzny dla strony jest bezpieczniejszy niż
*. - Trzymaj regułę CSS i regułę JS osobno, abyś mógł przełączać każdą niezależnie podczas testowania.
- Jeśli strona ładuje treść dynamicznie, nasłuchiwacze fazy przechwytywania nadal działają, bo żyją na
document, a nie na poszczególnych elementach. - Nic tutaj nigdzie nie wysyła danych — zmienia tylko, jak zachowują się zdarzenia w twojej własnej przeglądarce.
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.