← Todos los artículos

Tutoriales

Desbloquea la copia, la selección y el clic derecho en cualquier página

Caes en un artículo, quieres copiar un párrafo a tus notas — y la página no te deja seleccionar el texto. El clic derecho no hace nada. No es un bug del navegador, es un bloqueo deliberado en el JavaScript de la página. Este artículo muestra cómo eliminarlo con una sola regla JustZix.

Cómo las páginas bloquean la copia

No existe ningún «modo solo lectura» en HTML. Una página que bloquea la selección lo hace de dos maneras:

Ambos pueden anularse, porque ambos se ejecutan en el navegador — y tú tienes el control completo de tu navegador.

¿Es legal?

Sí. El texto ya está en tu pantalla — la página te lo ha enviado. Eliminar el bloqueo de la copia no esquiva ninguna protección del contenido, porque no hay ninguna; es solo una molestia UX. El derecho de autor sobre el texto en sí es otra cuestión — lo que hagas con el fragmento copiado depende de ti.

La regla — CSS más JS

Pon el patrón de URL en la página que te molesta (o * globalmente). En la pestaña JavaScript de la regla, pega:

['copy', 'cut', 'contextmenu', 'selectstart', 'dragstart']
  .forEach(evt =>
    document.addEventListener(evt, e => e.stopPropagation(), true)
  );
const s = document.createElement('style');
s.textContent =
  '*{user-select:text!important;-webkit-user-select:text!important}';
document.documentElement.appendChild(s);

Cómo funciona

stopPropagation en la fase de capture

El tercer argumento de addEventListener puesto a true indica la fase de capture. Nuestro listener captura el evento antes de que alcance el handler de la página y llama a stopPropagation() — la propagación se detiene, y el handler de la página (el que tiene preventDefault()) nunca recibe el evento.

El style inyectado

El segundo bloque añade una regla CSS con user-select: text !important. El !important vence a cualquier user-select: none de la página. Lo inyectamos desde el JS (en lugar de como CSS de la regla) para que aterrice justo al final de la cascada y sea seguro que gana.

La variante solo-CSS

Si el bloqueo es puramente CSS, el JS es inútil — basta la pestaña CSS de la regla:

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

Prueba esto primero. Si la selección todavía no funciona, la página bloquea también en JS y te hace falta la versión completa.

Trampas

Mira también

Instala JustZix — y copia de cada página que intenta impedírtelo.

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