Pocket のトラッキングURLパラメータを外す
by
Lhankor_Mhy
03/12 [2024/03/12 12:15:07]
Pocket のリンクから ?utm_source=pocket_saves などを外します。
-
// ==UserScript==
// @name Pocket のトラッキングURLパラメータを外す
// @title Pocket のトラッキングURLパラメータを外す
// @namespace https://let.hatelabo.jp/Lhankor_Mhy/let/kLOm3rHEgeAA
// @version 0.1.2
// @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-testid="image-link"],[data-testid="content-block"],[data-testid="view-original"],[data-testid="publisher-link"])').forEach(el => {
const url = new URL(el.href);
const searchPrams = url.searchParams;
searchPrams.delete('utm_source');
url.search = searchPrams.toString();
el.href = url.href;
})
}
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。