// ==UserScript== // @name ime.nu relinker // @namespace http://cielonegro.org/ // @description Fix links on 5ch.net BBS. // @author PHO // @version 1.0.1 // @license CC0 // @run-at document-end // @include https://*.5ch.net/* // ==/UserScript== (function () { function relink_all() { var anchors = document.getElementsByTagName("a"); for (var i = 0; i < anchors.length; i++) { var href = anchors[i].href; /* http://jump.5ch.net/? */ href = href.replace(/^http:\/\/jump\.5ch\.net\/\?/, ""); anchors[i].href = href; } } function remove_ad_footer() { // Starting from 2021-02-08, 5ch.net shows an iframe ad // contained in several nested div elements. Dunno which // script is doing it. -> Found. It was "ad.js" var iframes = document.querySelectorAll("iframe"); for (var iframe of iframes.values()) { if ((iframe.getAttribute("src") || "").startsWith("//stab.thench.net/")) { // Found an iframe to be removed. if (iframe.parentNode && iframe.parentNode.parentNode) { iframe.parentNode.parentNode.remove(); } } } } // Pop-up windows shown when hovered on >>n links are dynamically // inserted to the DOM. Relink anchors in them as well. let observer = new MutationObserver(relink_all); observer.observe(document.querySelector("body"), {subtree: true, childList: true}); relink_all(); remove_ad_footer(); })();