您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Hide annoying promoted posts by reddit
// ==UserScript== // @name Remove ios Reddit Promoted // @namespace http://tampermonkey.net/ // @version 0.5 // @description Hide annoying promoted posts by reddit // @author ficapy // @match https://www.reddit.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=reddit.com // @license MIT // @grant none // ==/UserScript== (() => { 'use strict'; function findAndClickButtonInShadowDom(shadowRoot, titleSelector, buttonSelector) { const targetTitle = shadowRoot.querySelector(titleSelector); if (targetTitle && targetTitle.textContent.includes('See Reddit in...')) { const continueButton = shadowRoot.querySelector(buttonSelector); if (continueButton) { continueButton.click(); console.log('Continue按钮已点击'); } } } const targetNode = document.body; const config = { childList: true, subtree: true, attributes: true }; const callback = function (mutationsList, observer) { for (const mutation of mutationsList) { if (mutation.type === 'childList' || mutation.type === 'attributes') { let nodesToCheck = mutation.addedNodes.length > 0 ? mutation.addedNodes : [mutation.target]; nodesToCheck.forEach(node => { if (node.nodeType === 1) { const ads = node.querySelectorAll('shreddit-ad-post, shreddit-comments-page-ad'); ads.forEach(ad => ad.style.display = 'none'); } }); // 自动选择使用Safari let app_selector = document.querySelector('shreddit-experience-tree')?.shadowRoot.querySelector('shreddit-async-loader')?.shadowRoot.querySelector('xpromo-app-selector'); if (app_selector){ findAndClickButtonInShadowDom(app_selector.shadowRoot, 'span[slot="title"]', 'button#secondary-button'); } } } }; const observer = new MutationObserver(callback); observer.observe(targetNode, config); document.querySelectorAll('shreddit-ad-post, shreddit-comments-page-ad').forEach(ad => ad.style.display = 'none'); let app_selector = document.querySelector('shreddit-experience-tree')?.shadowRoot.querySelector('shreddit-async-loader')?.shadowRoot.querySelector('xpromo-app-selector'); if (app_selector){ findAndClickButtonInShadowDom(app_selector.shadowRoot, 'span[slot="title"]', 'button#secondary-button'); } })();