Mein Pro-Adblock-Overlay und uMatrix (update)

Samstag, 18.6.2016, 10:41 > da]v[ax

kalo meinte gestern:

Seit Monaten geht mir die Begrüßung auf Deiner Seite auf die Nerven - ich gehe immer mit Mozilla+uMatrix rein und werde angenölt, daß ich mir doch mal ... z. B. uMatrix anschaffen sollte. Nicht sehr smart. Sorry

Heute früh hatte ich gerade nichts Besseres zu tun, also habe ich meine Linux-VM angeworfen, sie erstmal stundenlang aktualisiert, einen Snapshot angelegt und anschließend uMatrix installiert. Und ja, uMatrix filtert das Overlay nicht weg :(

todamax pro adblock oops overlay

Nun muss ich kurz ausholen, um die Diskussion auf ein sinnvoles Niveau zu heben. Mein Pro-Adblock-Plugin erzeugt per JavaScript ein DIV-Element mit id="ad-space" in der Annahme, dass ein vernünftiger AdBlocker ein solches Element wegfiltert. Die meisten AdBlocker verwenden dazu die EasyList, auf der zigtausende solche Elemente hinterlegt sind, und das funktioniert problemlos.

Das Problem mit uMatrix ist, dass es eben KEINE Filterliste wie EasyList verwendet, sondern Werbung nur anhand von Hosts rauswirft. Das heißt, uMatrix filtert komplette Webserver weg, nicht aber einzelne Werbeelemente. Nun kommt das "OOPS"-Overlay ja nicht von einem anderen Webserver, sondern direkt aus meinem Blog. uMatrix erlaubt leider auch nicht, ein bestimmtes CSS-Element zu filtern, sondern arbeitet nach dem Prinzip "ganz oder gar nicht": man kann CSS komplett verbieten oder komplett erlauben, einzelne Elemente kann man nicht filtern. Oder habe ich da was falsch verstanden?

Nun stehe ich echt vor einem Problem: wie kriege ich jetzt uMatrix dazu, das "OOPS" zu filtern? Oder wie kriegt der|die Anwender|in uMatrix dazu, das OOPS wegzuwerfen?

Ich bin da im Moment mit meinem Latein echt am Ende. Ich kann mir nicht vorstellen, dass ich per JavaScript herausfinde, ob z.B. uMatrix installiert ist und dann einfach das Overlay gar nicht erst erzeuge.

Als Friedensangebot habe ich einen neuen Link "Ich will das hier nie wieder sehen" ans Ende des "OOPS" gepackt, der einen 10 Jahre gültigen Cookie setzt. Wer allerdings seinen Firefox auf "Keep Cookies Until I Close Firefox" gestellt hat oder Cookies auch mal manuell löscht, dem wird auch das nicht helfen.

PS: abgesehen davon zerstört uMatrix meinen Radioplayer, weil es ganz dreist sämtliche Verbindungen zu laut.fm unterbindet. Ich bin von uMatrix ehrlich gesagt nicht so richtig überzeugt...

Update: ich habe ein (ziemlich hässliches) Workaround gefunden: ich binde jetzt ein Javascript von einem anderen URL ein (http://www.themadguys.de/ads/adsbygoogle.js), das nur eine einzige Zeile enthält, in der eine Variable namens isAdsDisplayed auf true gesetzt wird. uMatrix verhindert das Laden dieses Scripts, somit ist isAdsDisplayed immer undefined und deshalb wird dann in showadspace() das Overlay nicht mehr angezeigt. Aber wie gesagt: das finde ich eher hässlich, weil es eben bedeutet, dass das Plugin eine Datei auf einem anderen Server benötigt. Das muss irgendwie besser gehen...