Pocket のトラッキングURLパラメータを外す

    @@ -1,15 +1,18 @@ // ==UserScript== // @name Pocket のトラッキングURLパラメータを外す -// @namespace http://tampermonkey.net/ +// @title Pocket のトラッキングURLパラメータを外す +// @namespace https://let.hatelabo.jp/Lhankor_Mhy/let/kLOm3rHEgeAA // @version 0.1 -// @description try to take over the world! -// @author You +// @description Pocket のリンクから ?utm_source=pocket_saves などを外します。 +// @author Lhankor_Mhy +// @license CC0 // @match https://getpocket.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=getpocket.com +// @run-at document-idle // @grant none // ==/UserScript== -document.addEventListener('DOMContentLoaded', () => { +{ let timerId; new MutationObserver((mutationList, observer) => { mutationList.forEach((mutation) => { @@ -28,5 +31,5 @@ document.querySelectorAll('a:where([data-cy="image-link"],[data-cy="content-block"],[data-cy="view-original"],[data-cy="publisher-link"])').forEach(el => el.href = el.href.replace(/[?|&]utm_source=pocket_[saves|reader]/, '') ) -}) +}
  • // ==UserScript==
    // @name         Pocket のトラッキングURLパラメータを外す
    // @title        Pocket のトラッキングURLパラメータを外す
    // @namespace    https://let.hatelabo.jp/Lhankor_Mhy/let/kLOm3rHEgeAA
    // @version      0.1
    // @description  Pocket のリンクから ?utm_source=pocket_saves などを外します。
    // @author       Lhankor_Mhy
    // @license      CC0
    // @match        https://getpocket.com/*
    // @icon         https://www.google.com/s2/favicons?sz=64&domain=getpocket.com
    // @run-at       document-idle
    // @grant        none
    // ==/UserScript==
    
    {
      let timerId;
      new MutationObserver((mutationList, observer) => {
        mutationList.forEach((mutation) => {
          switch (mutation.type) {
            case "childList":
              clearTimeout(timerId);
              timerId = setTimeout(omitTrackingParameter, 1000)
              break;
          }
        });
      }).observe(document.body, {
        childList: true,
        subtree: true,
      });
      const omitTrackingParameter = () =>
        document.querySelectorAll('a:where([data-cy="image-link"],[data-cy="content-block"],[data-cy="view-original"],[data-cy="publisher-link"])').forEach(el =>
          el.href = el.href.replace(/[?|&]utm_source=pocket_[saves|reader]/, '')
        )
    }
    
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2024/03/12 12:15:07 - 03/12
  2. 2024/01/15 13:56:28 - 01/15
  3. 2023/12/07 16:17:40 - 2023-12-07
  4. 2023/12/06 12:46:46 - 2023-12-06
  5. 2023/12/06 12:40:30 - 2023-12-06