Remove Promotion Element at Reddit Site

Removes the promotion element from the page

目前為 2024-11-23 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Remove Promotion Element at Reddit Site
// @namespace    http://tampermonkey.net/
// @version      1.0.3
// @description  Removes the promotion element from the page
// @author       aspen138
// @match        *://www.reddit.com/*
// @grant        none
// @license      MIT
// ==/UserScript==





(function() {
    'use strict';

    // Wait for the page to load fully
    window.addEventListener('load', function() {
        // Select the promotion element using multiple possible classes or tags
        const promoSelectors = [
            'a.w-100.block.h-100.cursor-pointer',
            'shreddit-ad-post.promotedlink',
            'shreddit-dynamic-ad-link',
            'shreddit-comments-page-ad.promotedlink'  // Added new selector
        ];

        // Function to remove elements matching selectors
        function removePromoElements() {
            promoSelectors.forEach(selector => {
                const promoElements = document.querySelectorAll(selector);
                promoElements.forEach(element => {
                    element.remove();
                    console.log('Promotion element removed:', selector);
                });
            });
        }

        // Function to hide elements with a specific rel attribute value
        function hideElementsWithRel() {
            // Select all links on the page
            const links = document.querySelectorAll('a');

            // Iterate through all links
            links.forEach(link => {
                // Check if the rel attribute matches "noopener nofollow sponsored"
                if (link.getAttribute('rel') === "noopener nofollow sponsored") {
                    // Hide the element
                    link.style.display = 'none';
                    console.log('Link with rel "noopener nofollow sponsored" hidden');
                }
            });
        }

        // Initial run of both functions
        removePromoElements();
        hideElementsWithRel();

        // Optional: Set up a MutationObserver to handle dynamically loaded content
        const observer = new MutationObserver(function(mutations) {
            removePromoElements();
            hideElementsWithRel();
        });

        // Start observing the document with the configured parameters
        observer.observe(document.body, {
            childList: true,
            subtree: true
        });
    });
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址