← Tous les articles

Tutoriels

Débloquer le copier, la sélection et le clic droit sur n'importe quelle page

Vous tombez sur un article, vous voulez copier un paragraphe dans vos notes — et la page ne vous laisse pas sélectionner de texte. Le clic droit ne fait rien. Ce n'est pas un bug du navigateur, c'est un blocage délibéré dans le JavaScript de la page. Cet article montre comment le lever avec une seule règle JustZix.

Comment les pages bloquent la copie

Il n'y a pas de « mode lecture seule » en HTML. Une page qui bloque la sélection le fait de deux façons :

Les deux peuvent être annulés, car les deux s'exécutent dans le navigateur — et vous avez le contrôle total de votre propre navigateur.

Est-ce légal ?

Oui. Le texte est déjà sur votre écran — la page vous l'a envoyé. Lever le blocage de copie ne contourne aucune protection de contenu, car il n'y en a aucune ; ce n'est qu'une gêne UX. Le droit d'auteur sur le texte lui-même est une autre affaire — ce que vous faites du fragment copié vous regarde.

La règle — CSS plus JS

Réglez le motif d'URL sur la page qui vous agace (ou * globalement). Dans l'onglet JavaScript de la règle, collez :

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

Comment ça marche

stopPropagation en phase de capture

Le troisième argument de addEventListener mis à true signifie la phase de capture. Notre listener attrape l'événement avant qu'il n'atteigne le handler de la page et appelle stopPropagation() — la propagation s'arrête, et le handler de la page (celui avec preventDefault()) ne reçoit jamais l'événement.

Le style injecté

Le second bloc ajoute une règle CSS avec user-select: text !important. Le !important bat tout user-select: none de la page. Nous l'injectons depuis le JS (plutôt que comme le CSS de la règle) pour qu'il atterrisse tout à la fin de la cascade et soit sûr de gagner.

La variante CSS seule

Si le blocage est purement CSS, le JS est inutile — l'onglet CSS de la règle suffit :

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

Essayez ça d'abord. Si la sélection ne fonctionne toujours pas, la page bloque aussi en JS et vous avez besoin de la version complète.

Pièges

À voir aussi

Installez JustZix — et copiez depuis chaque page qui tente de vous en empêcher.

Notez cet article

Aucune note — soyez le premier.

Essayez vous-même

Installez JustZix et collez n'importe quel snippet de cet article. Deux minutes de zéro à une règle fonctionnelle sur tous vos appareils.

Obtenir JustZix

Fonctionnalités · Comment ça marche · Exemples · Cas d'usage