Ich habe Folgendes versucht, es hat keine Wirkung:
startpage.com##[style*="background-color:#F5F9FF;"]
Irgendeine Idee, wie man das lösen kann?
So reproduzieren Sie: Gehen Sie zuhttps://startpage.com/do/search- Suchen Sie beispielsweise nach adblock
. Oben und unten auf der Seite werden Ihnen hässliche hellblaue Kästchen mit dem Text „Anzeigen im Zusammenhang mit Adblock“ angezeigt:
Dies ist mit Iceweasel (Firefox 38.2.1) und Adblock Edge 2.1.9.1.
Wenn dies nicht möglich ist, welche sicheren/datenschutzfreundlichen und werbefreien Websites empfehlen Sie als Alternative zu IxQuick und Startpage?
Antwort1
Irgendeine Idee, wie man das lösen kann?
Die betreffenden Anzeigen befinden sich in einem Div mit der ID „spon_links“.
<div id="spon_links">
Sie können einFettaffeSkript zum Entfernen dieser Divs.
Lösung 1
Es wurde bestätigt, dass dies in Firefox funktioniert, wenn der Werbeblocker uBlock Origin verwendet wird.
// ==UserScript==
// @name startpage.com remove ads
// @namespace startpage.com
// @description Removes ads from startpage.com before they are displayed.
// @include https://startpage.com/*
// @include https://*.startpage.com/*
// @run-at document-start
// @version 2015-09-29
// @grant GM_addStyle
// ==/UserScript==
GM_addStyle("div#spon_links { display: none !important}");
Lösung 2
Nicht getestet.
Ersetzen Sie 'ads'
es 'spon_links'
im folgenden Beispielskript durch.
4.9. Entfernen eines Elements
Mit Greasemonkey können Sie mit der Funktion „removeChild“ ganze Teile einer Seite auf einen Schlag entfernen.
Beispiel: Entfernen einer Anzeigen-Seitenleiste
Dies setzt voraus, dass es ein Element mit der ID „ads“ gibt.
var adSidebar = document.getElementById('ads'); if (adSidebar) { adSidebar.parentNode.removeChild(adSidebar); }
Wenn Sie ein Element mit entfernen
removeChild
, wird auch der gesamte Inhalt entfernt. Wenn Sie beispielsweise ein<table>
Element entfernen, werden auch alle darin enthaltenen Tabellenzellen (<td>
Elemente) entfernt.
Antwort2
Derzeit hinzugefügt:
startpage.com##.clicktrackedAd_js
zu meiner uBlock Orgin-Filterliste hat funktioniert. Es wurden keine Anzeigensuchergebnisse mehr angezeigt.
Antwort3
Nach dem Hinweis von @DavidPostill habe ich mir die Seitenstruktur noch einmal angesehen. Es scheint, dass die Textanzeigen nach außen verschoben werden, div.spon_links
wenn Adblock Edge aktiviert ist, das tatsächlich eine Filterregel für hat spon_links
. Ob dies ein Fehlverhalten von Adblock Edge oder eine Gegenmaßnahme von Startpage ist, weiß ich nicht.
Es gibt eine einfachere Lösung als das Hinzufügen eines benutzerdefinierten Greasemonkey-Skripts – das Problem lässt sich auch einfach durch Ersetzen von Adblock Edge durch uBlock lösen.
Bei näherer Untersuchung verschwinden die Anzeigen nur, wenn uBlock aktiviert ist und Adblock Edge gleichzeitig vollständig deaktiviert ist („Überall deaktivieren“). Selbst wenn ich es nur für Startpage deaktiviere („Auf startpage.com deaktivieren“), verschiebt die Site die Anzeigen außerhalb des spon_links
Containers. Meine Erklärung ist, dassStartpage schafft es irgendwie, auf meine Add-ons-Einstellungen zuzugreifen und prüft, ob Adblock generell aktiviert ist. Kann das wirklich so schlimm sein?!
Mithilfe von Davids Ansatz mit Greasemonkey und removeChild
habe ich die folgende Lösung gefunden, die auch funktioniert, wenn Adblock Edge installiert ist. Es scheint, dass man warten muss, bis die Seite geladen ist, und mit der Vermeidung von Adblock herumspielen muss, bis man schließlich die störenden Elemente finden und löschen kann:
// ==UserScript==
// @name startpage/ixquick remove ads
// @namespace startpage.com
// @description Removes ads from startpage/ixquick before they are displayed.
// @include https://startpage.com/*
// @include https://*.startpage.com/*
// @include https://ixquick.com/*
// @include https://*.ixquick.com/*
// @run-at document-end
// @grant none
// @version 2015-09-29
// ==/UserScript==
var fun = function() {
var results = document.getElementById('bottom-result-container');
if (results) {
var ols = results.getElementsByTagName('ol');
for (i = 0; i < ols.length; i++) {
var ol = ols[i];
var ps = ol.getElementsByTagName('p');
for (j = 0; j < ps.length; j++) {
var p = ps[j];
if (p.className == 'head2') {
var spans = p.getElementsByTagName('span');
for (k = 0; k < spans.length; k++) {
if (spans[k].innerHTML.contains("Ads related to")) {
ol.innerHTML = '';
}
}
}
}
}
}
};
setTimeout(fun, 1);
(Entschuldigung, mein JavaScript ist etwas eingerostet, mit jQuery geht es wahrscheinlich einfacher.)
Antwort4
In AdblockPro konnte ich das Div blockieren, indem ich diese Regel hinzugefügt habe:
startpage.com###sponsored_csa1
Ich habe den ABP Element Hiding Helper verwendet, um das übergeordnete Div für mich auszuwählen, und dessen Standardregel akzeptiert.
AdBlock Edge ist ein Fork von ABP, daher würde ich erwarten, dass eine Regel dort auch in ABE funktioniert. Allerdings wurde ABEabgesetztvon seinem Entwickler, Sie sollten also wirklich entweder zu ABP zurückkehren (und einfach die Funktion für akzeptable Anzeigen deaktivieren) oder zu uBlock wechseln.
uBlock ist möglicherweise auch aus technischer Sicht die bessere Wahl; es soll in FF eine geringere Speicher-/CPU-Auslastung haben als ABP. Es funktioniert auch vollständig mit dem kommendenElektrolyseUpdate für Firefox, das die Benutzeroberfläche und die Tabs der obersten Ebene in separate Prozesse aufteilt und letztere mit stärker eingeschränkten Einstellungen ausführt, was es für Malware-Autoren schwieriger machen sollte, sie auszunutzen (IE und Chrome tun dies schon seit Jahren). Die voraussichtliche Veröffentlichung ist möglicherweise schon Ende des Jahres. (FF43/14. Dezember ist schon seit einiger Zeit ihr Zieldatum; ob sie es schaffen, hängt davon ab, wie gut die Telemetrie in den Alpha-/Beta-Builds aussieht und wie gering die Anzahl offener Fehler ist.)