Sie meinen neugierigen Code wie:
<noscript> <img height="1" width="1" alt="" style="display:none" src="https://www.facebook.com/tr?id=redacted&ev=PageView&noscript=1"> </noscript>
??
Ich weiß nicht, wie die Bewertung von deaktiviert werden kann <noscript>
, aber im obigen Beispiel könnten Sie eine kurze Browsererweiterung schreiben, um jede Anfrage mit einer URL zu löschen, die die Teilzeichenfolge enthält facebook.com/tr?
.
In Chrome.webRequest finden Sie eine Beschreibung der API des Chrome-Browsers zum Anzeigen, Ändern oder Blockieren von Anforderungen während des Flugs.
Hier ist ein Arbeitsbeispiel:
manifest.json:
{ "name": "Website Blocker", "description": "Keeps the browser from fetching tracking URLs", "version": "1.0", "manifest_version": 2, "permissions": [ "webRequest", "webRequestBlocking", "*://*.facebook.com/tr?*" ], "background": { "scripts": [ "script.js" ], "persistent": true }, "icons": { "256": "world-blocker.png" }, "converted_from_user_script": true }
script.js:
"use strict" console.log("Website Blocker is running!"); var re = new RegExp('https?://.*?\.?facebook.com/tr\?', 'i'); function checkUrl(details) { var cancel = !!details.url.match(re); if (!cancel) console.log(`Passing $`); return ; } chrome.webRequest.onBeforeRequest.addListener( checkUrl,, ['blocking'] );
Verwenden Sie für das Symbol, was Sie möchten. Oder löschen Sie es und lassen Sie den Browser einen Dummy-Wert angeben. Die einzige Aufgabe besteht darin, den Eintrag der Erweiterung auf der chrome://extensions
Seite hervorzuheben .
Die Erweiterung funktionierte gut auf der betreffenden Seite. Das Konsolenprotokoll der Seite enthält eine Fehlermeldung net::ERR_BLOCKED_BY_CLIENT
für den Image-Abruf. Ebenso eine rote Fehlerzeile auf der Registerkarte Netzwerk.
Auch die URL-Vorfilterung funktioniert gut. Das JavaScript wird nur für die spezifische Tracking-URL aufgerufen. Beim Überprüfen der Erweiterungskonsole sehe ich keine "Passing ..." -Meldungen, selbst wenn ich Facebook besuche.