]> gitweb @ CieloNegro.org - imenu-relinker.git/commitdiff
Remove the ad at the footer; also observe DOM changes
authorPHO <pho@cielonegro.org>
Mon, 8 Feb 2021 10:32:32 +0000 (19:32 +0900)
committerPHO <pho@cielonegro.org>
Mon, 8 Feb 2021 10:32:32 +0000 (19:32 +0900)
imenu-relinker.user.js

index 79c8fe05160c465014999ef15766a9eb9629d8ce..3711d16fd8bb9fe8fb92192c0c489ff900596c16 100644 (file)
@@ -3,7 +3,7 @@
 // @namespace    http://cielonegro.org/
 // @description  Fix links on 5ch.net BBS.
 // @author       PHO
-// @version      1.0
+// @version      1.0.1
 // @license      CC0
 // @run-at       document-idle
 // @include      https://*.5ch.net/*
         }
     }
 
+    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.
+        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();
 })();