-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
freedium.user.js
26 lines (24 loc) · 1.01 KB
/
freedium.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// ==UserScript==
// @name Redirect to Freedium
// @namespace https://github.com/ArjixWasTaken/my-userscripts
// @version 1.1
// @description Automatically redirects medium articles to freedium
// @author ArjixWasTaken
// @match *://*/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=freedium.cfd
// @run-at document-start
// @grant none
// ==/UserScript==
const isMediumArticle = () => !!document.querySelector(`meta[property="al:android:url"][content^="medium://p/"]`)?.content;
new MutationObserver((mutations, observer) => {
for (const mutation of mutations) {
for (const node of mutation.addedNodes) {
if (!node?.matches?.(`head > *`)) continue;
if (isMediumArticle()) {
window.location.href = `https://freedium.cfd/` + encodeURIComponent(window.location.href);
observer.disconnect();
return;
}
}
}
}).observe(document, { subtree: true, childList: true });