Antwort an „Voll?“ verfassen

problematische Seite

So, ein wenig gebastelt. Ergebnis: mit Attributen o.ä. scheitert :empty. Unabhängig davon, daß das Auftauchen von TextNodes, scheinbar durch das Löschen von Elementen als temporäre Leichen verbleibend, doch irritierend ist:

'use strict';
(
	function() {
		const theBody = new DocumentFragment();
		for (const mains of document.getElementsByTagName('main')) {
			theBody.append(...mains.childNodes);
		}

		{
			const killer = document.createNodeIterator(
				theBody,
				NodeFilter.SHOW_ELEMENT,
				x => /^(?:img|script|style|iframe|form)$/i.test(x.nodeName)
				?	NodeFilter.FILTER_ACCEPT
				:	NodeFilter.FLITER_SKIP
			);
			while (killer.nextNode()) killer.referenceNode.remove();
		}
		{
			const cWalker = document.createNodeIterator(
				theBody,
				NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT
			);
			while (cWalker.nextNode()) {
				const x = cWalker.referenceNode;
				switch (x.nodeType) {
					case Node.TEXT_NODE: {
						const s = x.textContent.trim();
						if (s.length) { x.textContent = s; break; }
						//  falls through
					}
					case Node.COMMENT_NODE:
						x.remove();
						break;
					default:
						console.log(x.nodeType);
				}
			}

/*!*/		theBody.normalize(); // egal, ob mit oder ohne das!
			const empties = theBody.querySelectorAll(':empty');
			for (const empty of empties) empty.remove();

		}

		document.body.replaceChildren(theBody);
	}
)();

als User-Script mit Tampermonkey (jetzt mal auf // @match https://www.westlotto.de/lotto-6aus49/gewinnzahlen/*angesetzt) eingesetzt, läßt die roten Rechtecke immer noch stehen. Nur wenn das hier weggelassene Entfernen von Attributen und Klassen durchgezogen wird, paßt das „Empty-Ergebnis“.

Werd’ noch etwas herumstochern um herauszufinden, was entfernt werden muß und was nur kann, denn etwas von dem Zeug wäre schon hilfreich — oder ich werte es vorher entsprechend aus.

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen