(() => {
if (window.__ozonSvgFilter) {
window.__ozonSvgFilter.stop();
}
const TARGET = 'http://www.w3.org/2000/svg';
function checkRows() {
const rows = document.querySelectorAll('tr');
let kept = 0;
let removed = 0;
rows.forEach((row, index) => {
const cells = row.querySelectorAll(':scope > td');
// Нужен именно 7-й столбец
if (cells.length < 7) {
console.log(
`[SVG FILTER] Строка #${index + 1}: меньше 7 столбцов → пропуск`
);
return;
}
const seventhCell = cells[6];
const hasSvg = seventhCell.querySelector(
`svg[xmlns="${TARGET}"]`
);
if (hasSvg) {
kept++;
console.log(
`%c[SVG FILTER] Строка #${index + 1}: 7-й столбец → SVG НАЙДЕН → ОСТАВЛЯЕМ`,
'color: lime'
);
} else {
removed++;
console.log(
`%c[SVG FILTER] Строка #${index + 1}: 7-й столбец → SVG НЕ НАЙДЕН → УДАЛЯЕМ`,
'color: red'
);
row.remove();
}
});
console.log(
`[SVG FILTER] Проверено: ${rows.length}, оставлено: ${kept}, удалено: ${removed}`
);
}
// Первоначальная проверка
checkRows();
// Следим за появлением новых строк
const observer = new MutationObserver(() => {
checkRows();
});
observer.observe(document.body, {
childList: true,
subtree: true
});
window.__ozonSvgFilter = {
stop() {
observer.disconnect();
delete window.__ozonSvgFilter;
console.log(
'%c[SVG FILTER] ОСТАНОВЛЕН',
'color: orange'
);
},
check() {
checkRows();
}
};
console.log(
'%c[SVG FILTER] ЗАПУЩЕН',
'color: cyan'
);
console.log(
'[SVG FILTER] Проверяется именно 7-й столбец каждой строки.'
);
console.log(
'[SVG FILTER] Остановка: __ozonSvgFilter.stop()'
);
})();