Pocket のトラッキングURLパラメータを外す
by
Lhankor_Mhy
03/12 [2024/03/12 12:15:07]
Pocket のリンクから ?utm_source=pocket_saves などを外します。
@@ -19,7 +19,7 @@
switch (mutation.type) {
case "childList":
clearTimeout(timerId);
- timerId = setTimeout(omitTrackingParameter, 1000)
+ timerId = setTimeout(omitTrackingParameter, 500)
break;
}
});
@@ -29,7 +29,7 @@
});
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]/, '')
+ 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, 500)
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 です。