Civitai Ads Blocker (Optimized CSS)

Hide the "Become a Member to turn off ads today" boxes and other ad slots on Civitai search results.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         Civitai Ads Blocker (Optimized CSS)
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  Hide the "Become a Member to turn off ads today" boxes and other ad slots on Civitai search results.
// @author       Gemini
// @license      MIT
// @match        https://civitai.com/*
// @grant        GM_addStyle
// @run-at       document-start
// ==/UserScript==

(function() {
    'use strict';

    // 使用 GM_addStyle 注入 CSS 规则来隐藏广告框。
    // 这比 JavaScript DOM 操作更快,可以在广告显示之前就将其隐藏,消除闪烁。
    GM_addStyle(`
        /* ------------------------------------------------------------------------------------ */
        /* Civitai 广告卡片隐藏规则:我们只针对包含广告文字或广告占位符的顶级元素进行隐藏。 */
        /* ------------------------------------------------------------------------------------ */
        
        /* 规则 1: 定位包含会员升级广告文字的卡片(如您图片中红圈所示) */
        /* :has() 选择器用于找到包含特定子元素的父元素,这是最精确和稳定的方法。 */
        div.relative.flex.overflow-hidden:has(p:text('Become a Member to turn off ads today')) {
            display: none !important;
        }

        /* 规则 2: 定位包含实际嵌入式广告位(最小高度 250px)的卡片 */
        /* 这类卡片通常用于展示第三方广告,也应被屏蔽。 */
        div.relative.flex.overflow-hidden:has(div[style*="min-height: 250px;"]) {
            display: none !important;
        }

        /* 规则 3 (可选,基于结构差异的辅助规则): 
           广告卡片通常会包含 mx-auto min-w-80 等样式,而正常模型卡片没有。*/
        /* 仅在规则 1 和 2 失效时作为备用。 */
        div.relative.flex.overflow-hidden.mx-auto.min-w-80 {
             display: none !important;
        }
    `);
})();