← Todos los artículos

Tutoriales

Desbloquea copiar, seleccionar y clic derecho en cualquier página

Un número sorprendente de sitios todavía intenta "proteger" su contenido desactivando la selección de texto, el comando de copiar y el menú de clic derecho. Rara vez detiene a alguien decidido, pero molesta constantemente a la gente que solo quiere coger una cita o un número de teléfono. Con JustZix puedes volver a activar todo ello en segundos.

Por qué las páginas bloquean copiar

Los sitios desactivan copiar y seleccionar de tres formas comunes: una regla CSS (user-select: none), escuchadores de eventos de JavaScript que llaman a preventDefault() en copy, selectstart y contextmenu, y a veces una superposición transparente encima del texto. JustZix te permite neutralizar cada capa porque tu regla se ejecuta en la página y tú controlas tanto el CSS como el JS.

Paso 1: forzar la selección de vuelta con CSS

Crea una regla CSS en JustZix asociada al sitio (o a * para todo) y pega esto. El indicador !important anula la propia hoja de estilo del sitio.

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

Esto por sí solo arregla la mayoría de los casos de "no puedo resaltar el texto". Si la página aún se resiste, el bloqueo viene de JavaScript en su lugar.

Paso 2: detener los gestores de JavaScript

Añade una regla JS para la misma URL. El truco es registrar tus escuchadores en la fase de captura (el tercer argumento true) para que se ejecuten antes que los gestores del sitio, y luego llamar a stopImmediatePropagation() para que el código de bloqueo del sitio nunca se dispare.

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

JustZix ejecuta tu JS una vez por carga de página, así que esto se adjunta pronto y cubre todo el documento. Como solo detienes la propagación, el comportamiento por defecto del navegador (copiar de verdad, mostrar de verdad el menú) sigue funcionando.

Paso 3: limpiar los gestores en línea

Algunas páginas fijan oncontextmenu="return false" directamente en el elemento <body>. Los escuchadores de fase de captura no siempre vencen a los atributos en línea, así que bórralos también. Este fragmento es defensivo: comprueba que el elemento exista antes de tocarlo.

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;
});

Juntándolo todo

Para un sitio persistente, usa los tres: la regla CSS más una única regla JS que combine los pasos 2 y 3. La regla JS combinada tiene este aspecto:

['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;
}

Cuando el texto está dentro de una superposición

Si puedes ver el texto pero la selección agarra una caja vacía, hay un elemento invisible encima. Encuéntralo en DevTools y desactiva los eventos de puntero con CSS:

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

Sé conservador con los selectores amplios como [class*="overlay"] — pueden desactivar botones que realmente necesitas. Prefiere el nombre de clase exacto una vez lo hayas identificado.

Consejos para reglas fiables

Explora los ejemplos listos para usar para una versión de un clic de esta regla, y si aún no la has instalado, descarga JustZix para Chrome, Firefox, Edge u Opera. Una vez que copiar vuelva a funcionar, quizá también quieras leer nuestro artículo complementario sobre aceptar automáticamente los banners de cookies.

Valora este artículo

Sin valoraciones — sé el primero.

Pruébalo tú mismo

Instala JustZix y pega cualquier snippet de este artículo. Dos minutos de cero a una regla funcionando en todos tus dispositivos.

Obtener JustZix

Funciones · Cómo funciona · Ejemplos · Casos de uso