Trzy akcje warte miejsca w pasku: czysty URL, CSV, PIP
Pasek akcji JustZix jest najlepszy, gdy siedzą w nim rzeczy, których używasz codziennie. Oto trzy akcje uniwersalne — przydają się niemal wszędzie, niezależnie od strony. Każda to jeden przycisk i kilka linii kodu.
Akcja 1 — czysty URL
Kopiujesz link do wysłania, a ciągnie się za nim ogon ?utm_source=...&fbclid=.... Ta akcja kopiuje adres bez śmieci śledzących. Etykieta URL, kolor fioletowy:
const url = new URL(location.href);
const junk = ['fbclid', 'gclid', 'msclkid', 'igshid', 'mc_eid'];
[...url.searchParams.keys()].forEach(k => {
if (k.startsWith('utm_') || junk.includes(k)) {
url.searchParams.delete(k);
}
});
navigator.clipboard.writeText(url.toString());
JUSTZIX.log('Czysty URL w schowku: ' + url);
Akcja 2 — eksport tabeli do CSV
Strona pokazuje dane w tabeli, ale nie daje „pobierz". Ta akcja zrzuca pierwszą tabelę do pliku CSV. Etykieta CSV, kolor zielony:
const t = document.querySelector('table');
if (!t) { alert('Brak tabeli na stronie.'); }
else {
const csv = [...t.rows].map(r =>
[...r.cells].map(c =>
'"' + c.innerText.trim().replace(/"/g, '""') + '"'
).join(',')
).join('\n');
const a = document.createElement('a');
a.href = URL.createObjectURL(new Blob([csv], { type: 'text/csv' }));
a.download = 'tabela.csv';
a.click();
}
Akcja 3 — Picture-in-Picture
Wrzuca wideo strony do pływającego okienka, które zostaje na wierzchu, gdy przełączysz kartę. Etykieta PIP, kolor niebieski:
const v = document.querySelector('video');
if (!v) { alert('Brak wideo na stronie.'); }
else if (document.pictureInPictureElement) {
document.exitPictureInPicture();
} else {
v.requestPictureInPicture();
}
Dlaczego akcje, a nie reguły
Wszystkie trzy mają wspólną cechę: chcesz je odpalić w wybranym momencie, nie automatycznie. To definicja akcji — kod uruchamiany kliknięciem, a nie przy każdym wczytaniu strony. Reguła „kopiuj URL przy każdym wejściu" nie miałaby sensu; przycisk „kopiuj teraz" — owszem.
Pułapki
- clipboard wymaga gestu.
navigator.clipboard.writeTextdziała, bo akcja to kliknięcie — przeglądarka traktuje to jako zgodę użytkownika. Ten sam kod w regule (bez kliknięcia) zostałby zablokowany. - CSV bierze pierwszą tabelę. Strona z kilkoma tabelami? Zawęź
querySelectordo tej właściwej. - PIP tylko dla <video>. Odtwarzacze rysujące obraz na
<canvas>nie wejdą w Picture-in-Picture.
Zobacz też
- Przykłady — te i inne gotowe akcje
- Akcja BUTTON — typ akcji pod te trzy
- window.JZ helpers — programatyczne API akcji
Zainstaluj JustZix — i miej te trzy przyciski wszędzie pod ręką.
Oceń ten wpis
Brak ocen — oceń jako pierwszy.