← Wszystkie wpisy

Typy akcji

Przyciski paska narzędzi: kopiuj jako markdown i czysty URL

Reguły JS JustZix uruchamiają się automatycznie przy załadowaniu strony. Akcje są inne — to przyciski paska narzędzi, których kod działa tylko po kliknięciu. To czyni akcje idealnymi do narzędzi na żądanie: skopiuj bieżącą stronę jako markdown, oczyść śmieci śledzące z URL lub przepisz linki. Oto trzy, których będziesz używać codziennie.

Akcja 1: skopiuj tytuł strony i URL jako markdown

Gdy zbierasz linki do notatek lub dokumentów, chcesz schludnego linku markdown, a nie surowego URL. Ta akcja buduje jeden i kopiuje go do schowka.

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

navigator.clipboard.writeText(markdown).then(function () {
  console.log('Skopiowano: ' + markdown);
}).catch(function () {
  console.log('Schowek zablokowany — skopiuj recznie: ' + markdown);
});

Ponieważ akcje uruchamiają się po kliknięciu, przeglądarka traktuje zapis do schowka jako gest użytkownika, więc navigator.clipboard.writeText jest dozwolone. Reguła JS działająca przy załadowaniu strony nie mogłaby zrobić tego niezawodnie.

Akcja 2: skopiuj zaznaczony tekst jako markdown

Zaznacz nagłówek i trochę tekstu, kliknij przycisk i otrzymaj z powrotem markdown. Ta wersja wykrywa, czy zaznaczenie znajduje się wewnątrz elementu nagłówka.

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

if (!text) {
  console.log('Najpierw zaznacz jakis tekst.');
} 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('Skopiowano jako markdown.');
}

Akcja 3: usuń parametry śledzące z URL

Udostępniane linki są często zaśmiecone parametrami śledzącymi utm_*, fbclid, gclid i podobnymi. Ta akcja usuwa je i kopiuje czysty URL — bez przeładowania strony.

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('Skopiowano czysty URL: ' + clean);

Jeśli chcesz też, by pasek adresu się zaktualizował, dodaj history.replaceState(null, '', clean); — przepisuje URL po cichu bez dodatkowego żądania.

Bonus: otwieraj wszystkie linki zewnętrzne w nowych kartach

Ta pasuje lepiej jako reguła JS (działa przy załadowaniu) niż akcja, ale naturalnie współgra z narzędziami powyżej. Znajduje linki wskazujące inne domeny i oznacza je, by bezpiecznie otwierały się w nowej karcie.

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) { /* pomin bledny href */ }
});

Ustawienie rel="noopener noreferrer" to dobra praktyka — powstrzymuje nową stronę przed uzyskaniem odniesienia z powrotem do twojej karty.

Kiedy użyć akcji, a kiedy reguły

Przejrzyj gotowe przyciski w gotowych przykładach lub pobierz JustZix, aby je skonfigurować. Aby uzyskać automatyczne poprawki przy załadowaniu, zobacz własne skróty klawiszowe.

Oceń ten wpis

Brak ocen — oceń jako pierwszy.

Wypróbuj samodzielnie

Zainstaluj JustZix i wklej dowolny snippet z tego artykułu. Dwie minuty od zera do działającej reguły na wszystkich Twoich urządzeniach.

Pobierz JustZix

Funkcje · Jak to działa · Przykłady · Zastosowania