Как убрать товары зоозащитников (и любые другие) на OZON
Надоели карточки товаров с собачками-инвалидами (помощь до которых все равно не дойдет)?
Установите расширение Tampermonkey
Зайдите в настройки расширения
3. Выберите создание нового скрипта
и скопируйте туда скрипт
// ==UserScript==
// @name OZON Ad Blocker by Text Content
// @VERSION 1.0
// @Description Скрывает объявления на OZON по текстовому содержанию
// @Author You
// @GrAnt none
// ==/UserScript==
(function() {
'use strict';
// Список фраз для блокировки (можно добавить свои)
const blockedPhrases = [
'благотворительный',
'хочу жить',
'помочь',
'помощь',
'благотворительность',
'фонд'
// Добавьте свои фразы здесь
];
// Функция для нормализации текста (удаление лишних пробелов, приведение к нижнему регистру)
function normalizeText(text) {
return text.toLowerCase().replace(/\s+/g, ' ').trim();
}
// Функция проверки, содержит ли текст заблокированные фразы
function containsBlockedContent(text) {
const normalizedText = normalizeText(text);
return blockedPhrases.some(phrase =>
normalizedText.includes(phrase.toLowerCase())
);
}
// Функция скрытия элементов
function hideAds() {
// Ищем все товарные карточки (может потребоваться адаптация под конкретный селектор)
const productCards = document.querySelectorAll('[class*="tile-root"], [class*="product-card"], .tile-root');
productCards.forEach(card => {
const textContent = card.textContent || card.innerText;
if (containsBlockedContent(textContent)) {
// Скрываем карточку
card.style.display = 'none';
console.log('Скрыто объявление:', textContent.substring(0, 100));
}
});
}
// Создаем Observer для отслеживания динамически загружаемого контента
const observer = new MutationObserver((mutations) => {
let shouldCheck = false;
mutations.forEach((mutation) => {
if (mutation.addedNodes.length > 0) {
shouldCheck = true;
}
});
if (shouldCheck) {
setTimeout(hideAds, 500); // Небольшая задержка для полной загрузки контента
}
});
// Запускаем скрипт
function init() {
// Начинаем наблюдение за изменениями в DOM
observer.observe(document.body, {
childList: true,
subtree: true
});
// Первоначальная проверка
hideAds();
// Дополнительная проверка при скролле
window.addEventListener('scroll', () => {
setTimeout(hideAds, 300);
});
console.log('Ad blocker by text content активирован');
}
// Ждем загрузки страницы
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', init);
} else {
init();
}
// Функция для добавления своих фраз в runtime
window.addBlockedPhrase = function(phrase) {
if (!blockedPhrases.includes(phrase.toLowerCase())) {
blockedPhrases.push(phrase.toLowerCase());
hideAds(); // Перепроверяем
console.log('Добавлена новая фраза для блокировки:', phrase);
}
};
// Функция для просмотра текущих заблокированных фраз
window.getBlockedPhrases = function() {
return [...blockedPhrases];
};
// Функция для удаления фразы из списка блокировки
window.removeBlockedPhrase = function(phrase) {
const index = blockedPhrases.indexOf(phrase.toLowerCase());
if (index > -1) {
blockedPhrases.splice(index, 1);
console.log('Фраза удалена из блокировки:', phrase);
}
};
})();
4. Сохраните его
Магия начинает действовать
Теперь, даже если вы целенаправленно попытаетесь найти что-то по запрещенным ключевым словам, страница останется пустой
При желании, список ключевых слов можно пополнить









