Раньше для блокирования скриптов на странице я довольно длительное время использовал NoScript. Для блокирования рекламы я использовал AdGuard AdBlocker. Вместе они прекрасно работали и в принципе меня вполне устраивали. В какой-то момент мне потребовалось заблокировать с сайта только ОДИН скрипт, а не весь функционал включая библиотеки jquery и т.п. Но увы, NoScript мог блокировать лишь всё сразу.
Проведя поиск по инету, я выяснил, что уже довольно давно uBlock Origin включил эту возможность в свой функционал:
▶ ▶
Там же можно поставить галочку на блокирование загрузки шрифтов с удалённого ресурса (если потребуется):
- Block remote fonts
А также изображений и видео:
- Block media elements larger than
Эти настройки восполняют функционал NoScript.
Чтобы добавить блокировку конкретного скрипта с сайта, нужно добавить правило в раздел настроек , либо на значке uBlock Origin открыть логгер и там выбрать скрипт, который необходимо заблокировать:
1. Нажимаем на кнопочку
*. В фильтре выбираем отображение скриптов (хотя это не обязательный пункт).
2. На скрипте нажимаем левую кнопку мышки
3. В открывшемся диалоговом окошке выбираем вкладку
4. Подводим мышку в левую колонку, там будет три кнопки разных цветов
5. Нажимаем красную кнопку для блокирования скрипта.
6. На текущий момент изменения временные, чтобы их сохранить, нужно нажать на кнопку с замочком:
Блокировать inline-скрипты
Если в заголовке страницы добавлен не путь к файлу со скриптом, а сам скрипт, то его не видно в логгере. Например, я добавил в заголовок такой скрипт:
<script>
console.log(`Time: ${Date.now()}`);
</script>
У него нет даже названия функции, но при загрузке страницы он отработает и в консоль будет выведена дата и время (количеством миллисекунд):
Time: 1680861115822
Можно было сразу конвертировать в читабельный формат, но задача сейчас не в этом.
Чтобы заблокировать подобный инлайн-скрипт, нужно добавить правило в раздел :
127.0.0.1##^script:has-text(Time: )
Здесь мы указываем адрес сервера, а в качестве параметра ^script:has-text() указываем текст для поиска (без кавычек!).
В данном случае у нас была оригинальная строка Time: .
При открытии страницы в косоли больше не будет записи со временем, а в логах uBlock появится строчка с уведомлением:
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024
- VSCode: Найти и удалить элементы xml - 29.10.2024
- WordPress: Ошибка в плагине WpDiscuz - 08.10.2024