MV Forum Remover

B

En inglés que mola más... ¿o que? ¿o como?

Dejo por aquí un pequeño script de usuario para usarse con "tamper monkey" o el cargador que os guste más. El script lo que hace es ventilarse foros enteros sin dramas ni lloros... Si lo copias y pegas tal cual estará listo para ventilarse "off-topic".

// ==UserScript==
// @name         MVForumRemover
// @namespace    mv.custom.forum.remover
// @version      0.2
// @description  try to take over the world!
// @author       a soulless entity
// @match        https://www.mediavida.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=mediavida.com
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

const FORUM_NAMES_TO_REMOVE = ['off-topic'];

// Basto como el campo sin cultivar...
const removeForums = function () {
    const to_remove = FORUM_NAMES_TO_REMOVE.map(forum_name => `[href*='foro/${forum_name}']`);
    const $elms = $(to_remove.join(','));
    $elms.closest("li,tr[id^='t'],.posts tr").remove();
    $elms.remove();
};

// El menu se carga en diferido y por encima de sus posibilidades
const targetNodeMenu = $('#forum-select')[0];
if (typeof targetNodeMenu !== 'undefined') {
    const observerMenu = new MutationObserver(removeForums);
    observerMenu.observe(targetNodeMenu, { childList: true });
}
// Esto es por si no lo tienes filtrado usando los mecanismos de mediavida
const targetNodeSpy = $('#tablatemas')[0];
if (typeof targetNodeSpy !== 'undefined') {
    const observerSpy = new MutationObserver(removeForums);
    observerSpy.observe(targetNodeSpy, { childList: true });
}

// Borrar toda la morralla que no se quiere ver
removeForums();
})();
3
Fyn4r

y no es más fácil filtrarlo en el spy?

1 respuesta
B

#2 Yo prefiero hacer como que no existe... con este script lo borras de todos los sitios (menú, tops de la página principal, etc..).

1 1 respuesta
Fyn4r

#3 aah, es usted un genio

B

Ummm creo que no va a ir cuando "spy" se auto-actualiza... le tengo que meter un "mutation observer" me da a mí... voy a esperar un poquillo a ver si veo salir algo de off-topic.

** Editado para tener el cuenta lo que comento.

Konishi

Sólo por curiosidad técnica, ¿usas una "function expression" para removeItems por algo en concreto?

1 respuesta
B

#6 Realmente no... al estar dentro de una IIFE y en este caso ser un código tan pequeño no importa mucho que hagas. Vamos... ha salido así por costumbre no por un plan diseñado xD

Usuarios habituales