Вы имеете в виду любопытный код вроде:
<noscript> <img height="1" width="1" alt="" style="display:none" src="https://www.facebook.com/tr?id=redacted&ev=PageView&noscript=1"> </noscript>
??
Я не знаю, как отключить оценку <noscript>
, но в приведенном выше примере вы могли бы написать короткое расширение для браузера, чтобы отменить любой запрос с URL-адресом, содержащим подстроку facebook.com/tr?
.
См. Chrome.webRequest для описания API браузера Chrome для просмотра, изменения или блокировки запросов в полете.
Вот рабочий пример:
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'] );
Используйте все, что вы хотите для значка. Или удалите его, и пусть браузер предоставит фиктивный. Его единственная роль заключается в выделении записи расширения на chrome://extensions
странице.
Расширение отлично работало на рассматриваемой странице. Журнал консоли страницы содержит сообщение об ошибке net::ERR_BLOCKED_BY_CLIENT
для получения изображения. Аналогично, красная линия сбоя на вкладке Сеть.
Кроме того, предварительная фильтрация URL работает хорошо. JavaScript вызывается только для определенного URL-адреса отслеживания. Проверяя консоль расширения, я не вижу сообщений "Passing ...", даже когда захожу на Facebook.