← Tous les articles

Types d'actions

Boutons de barre d'outils copier-en-markdown et URL propre

Les règles JS de JustZix s'exécutent automatiquement au chargement de la page. Les actions sont différentes — ce sont des boutons de barre d'outils dont le code ne s'exécute que lorsque vous cliquez dessus. Cela rend les actions parfaites pour les outils à la demande : copier la page courante en markdown, nettoyer le suivi d'une URL, ou réécrire les liens. En voici trois que vous utiliserez chaque jour.

Action 1 : copier le titre et l'URL de la page en markdown

Quand vous collectez des liens pour des notes ou des documents, vous voulez un lien markdown soigné, pas une URL brute. Cette action en construit un et le copie dans le presse-papiers.

var title = (document.title || location.hostname).trim();
var url = location.href;
var markdown = '[' + title + '](' + url + ')';

navigator.clipboard.writeText(markdown).then(function () {
  console.log('Copié : ' + markdown);
}).catch(function () {
  console.log('Presse-papiers bloqué — copiez manuellement : ' + markdown);
});

Comme les actions s'exécutent sur un clic, le navigateur traite l'écriture dans le presse-papiers comme un geste utilisateur, donc navigator.clipboard.writeText est autorisé. Une règle JS s'exécutant au chargement de la page ne pourrait pas faire cela de façon fiable.

Action 2 : copier le texte sélectionné en markdown

Sélectionnez un titre et du texte, cliquez sur le bouton, et récupérez du markdown. Cette version détecte si la sélection se situe dans un élément de titre.

var sel = window.getSelection();
var text = sel ? sel.toString().trim() : '';

if (!text) {
  console.log('Sélectionnez d\'abord du texte.');
} else {
  var node = sel.anchorNode;
  var el = node && node.nodeType === 3 ? node.parentElement : node;
  var tag = el ? (el.tagName || '').toLowerCase() : '';
  var prefix = '';
  if (tag === 'h1') prefix = '# ';
  else if (tag === 'h2') prefix = '## ';
  else if (tag === 'h3') prefix = '### ';

  navigator.clipboard.writeText(prefix + text);
  console.log('Copié en markdown.');
}

Action 3 : retirer les paramètres de suivi de l'URL

Les liens partagés sont souvent encombrés de utm_*, fbclid, gclid et de paramètres de suivi similaires. Cette action les supprime et copie l'URL propre — sans recharger la page.

var JUNK = ['utm_source','utm_medium','utm_campaign','utm_term','utm_content',
            'fbclid','gclid','mc_eid','ref','ref_src','igshid','_hsenc'];

var u = new URL(location.href);
JUNK.forEach(function (param) {
  u.searchParams.delete(param);
});

var clean = u.toString();
navigator.clipboard.writeText(clean);
console.log('URL propre copiée : ' + clean);

Si vous voulez aussi que la barre d'adresse se mette à jour, ajoutez history.replaceState(null, '', clean); — elle réécrit l'URL silencieusement sans requête supplémentaire.

Bonus : ouvrir tous les liens externes dans de nouveaux onglets

Celui-ci convient mieux comme règle JS (s'exécute au chargement) que comme action, mais il se marie naturellement avec les outils ci-dessus. Il trouve les liens pointant vers d'autres domaines et les marque pour s'ouvrir dans un nouvel onglet en toute sécurité.

var here = location.hostname;
var links = document.querySelectorAll('a[href^="http"]');

links.forEach(function (a) {
  try {
    if (new URL(a.href).hostname !== here) {
      a.target = '_blank';
      a.rel = 'noopener noreferrer';
    }
  } catch (e) { /* ignorer un href malformé */ }
});

Définir rel="noopener noreferrer" est une bonne pratique — cela empêche la nouvelle page d'obtenir une référence vers votre onglet.

Quand utiliser une action ou une règle

Parcourez les boutons préconstruits dans les exemples prêts à l'emploi, ou téléchargez JustZix pour les configurer. Pour des retouches automatiques au chargement à la place, voyez les raccourcis clavier personnalisés.

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