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
- Użyj akcji do wszystkiego, co uruchamiasz ręcznie: kopiowanie, eksport, czyszczenie bieżącego URL. Kliknięcie liczy się jako gest użytkownika, co odblokowuje dostęp do schowka.
- Użyj reguły JS do wszystkiego, co powinno zawsze się dziać: przepisywanie linków, odblokowywanie kopiowania, odrzucanie bannerów.
- Akcje pojawiają się jako przyciski na pasku narzędzi JustZix, więc nazywaj je jasno — "Kopiuj jako MD", "Czysty URL".
- Każdy fragment tutaj jest lokalny: czyta stronę i zapisuje schowek, nic więcej.
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.