← Все примеры

JavaScript Приватность news.ycombinator.com

Hacker News: копировать чистую ссылку

Добавляет к каждой теме кнопку, которая копирует адрес без параметров отслеживания, готовый к публикации.

Код для копирования

// Add a button to copy each story link with tracking params stripped
(function () {
  document.querySelectorAll('.titleline > a:first-child').forEach(function (a) {
    if (a.parentNode.querySelector('.jz-copy-clean')) { return; }
    const btn = document.createElement('a');
    btn.className = 'jz-copy-clean';
    btn.textContent = ' [copy clean]';
    btn.href = 'javascript:void(0)';
    btn.style.cssText = 'color:#ff6600;font-size:8pt;margin-left:6px;cursor:pointer;';
    btn.addEventListener('click', function () {
      try {
        const u = new URL(a.href);
        ['utm_source','utm_medium','utm_campaign','utm_term','utm_content',
         'fbclid','gclid','ref','ref_src'].forEach(function (p) {
          u.searchParams.delete(p);
        });
        navigator.clipboard.writeText(u.toString());
        btn.textContent = ' [copied]';
        setTimeout(function () { btn.textContent = ' [copy clean]'; }, 1500);
      } catch (e) {}
    });
    a.parentNode.appendChild(btn);
  });
})();

Как использовать этот пример

  1. Скопируй код кнопкой выше.
  2. Установи JustZix (2 минуты) и открой расширение на нужной странице.
  3. Добавь новое правило, совпадающее с этой страницей.
  4. Вставь код в панель JavaScript правила и сохрани — он запускается при каждом заходе на страницу.

Оцени этот пример

Оценок пока нет — оцени первым.

Этот пример работает?

Сниппеты бесполезны, если их некуда вставить.

JustZix устанавливается за 2 минуты и запускает твой код на каждой подходящей странице. Без аккаунта, без оплаты.

Скачать бесплатно Смотреть применение