Hide LinkedIn Promoted Posts with CSS

Hide promoted posts on LinkedIn feed using CSS

当前为 2025-09-29 提交的版本,查看 最新版本

// ==UserScript==
// @name         Hide LinkedIn Promoted Posts with CSS
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Hide promoted posts on LinkedIn feed using CSS
// @author       aspen138
// @match        https://www.linkedin.com/feed/*
// @grant        GM_addStyle
// @run-at       document-end
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // Function to find and mark promoted posts
    function markPromotedPosts() {
        // Select all spans with aria-hidden="true"
        document.querySelectorAll('span[aria-hidden="true"]').forEach(span => {
            if (span.innerText.trim() === 'Promoted') {
                // Traverse up to find the post container (approximating 12 parent levels)
                let parent = span;
                for (let i = 0; i < 12 && parent; i++) {
                    parent = parent.parentElement;
                }
                // If a valid parent is found, add a class to mark it
                if (parent) {
                    parent.classList.add('hide-promoted-post');
                }
            }
        });
    }

    // Inject CSS to hide elements with the class
    GM_addStyle(`
        .hide-promoted-post {
            display: none !important;
        }
    `);

    // Run initially
    markPromotedPosts();

    // Observe DOM changes for dynamically loaded content
    const observer = new MutationObserver(() => markPromotedPosts());
    observer.observe(document.body, { childList: true, subtree: true });
})();