Я хочу отключить определенный сценарий JS с определенного веб-сайта, не отключая полностью JavaScript. Есть способ сделать это ?
6 ответов
(Ссылка: http://noscript.net/faq#qa8_10)
После установки NoScript откройте его опцию (открыв контекстное меню на маленьком значке в строке состояния / панели надстроек или через менеджер дополнений)
Перейдите на вкладку «Дополнительно». На этой странице перейдите на вкладку ABE. Под Rulesets, нажмите на USER. Вот пример набора правил, поместите его в текстовое поле справа:
# User-defined rules. Feel free to experiment here.
Site http://res.nimg.jp/js/ads.js*
Deny
Я не уверен, как работает сопоставление URL, использует ли оно регулярное выражение или нет. Некоторые примеры в FAQ показывают использование регулярных выражений, но мой приведенный выше пример также соответствует ads.js?foobarbaz
.
Если вы используете Firefox, вы также можете использовать AdBlock Plus, чтобы заблокировать все функции в определенном файле. (Инструкции ниже для Windows.)
- На панели инструментов нажмите значок AdBlock Plus и выберите в меню «Открыть блокируемые элементы».
- Появится окно со списком всего, что может заблокировать ABP. Вы можете прокрутить список, чтобы найти конкретный файл скрипта, или вы можете ввести в поле поиска, чтобы сузить список. Найдя файл, который нужно заблокировать, щелкните файл правой кнопкой мыши и выберите Блокировать этот элемент ....
- ABP создаст новый фильтр на основе этого файла и перечислит несколько вариантов для вас:
- Полный путь к файлу (www.domain.com/scripts/ascriptyoudontlike.js)
- Любой файл в этом поддомене (www.domain.com)
- Любой файл в этом домене (domain.com)
- Пользовательское правило, которое вы можете определить; по умолчанию это начинается с 1.
- Нажмите переключатель рядом с первой опцией и нажмите Добавить фильтр. Это закроет окно и добавит этот файл JavaScript в список заблокированных элементов.
Возможно, вам придется обновить страницу, чтобы убедиться, что файл заблокирован.
В Chrome встроена эта функциональность, она включена в блокировку запросов в инструментах разработчика. Этот ответ на StackOverflow имеет отличное описание того, как его использовать.
Вы можете использовать uBlock Origin в Chrome и Firefox:
https://github.com/gorhill/uBlock/wiki/The-logger#creating-filters
Если вы используете Firefox, плагин NoScript позволит вам сделать это.
AdBlock Plus делает это, но не относится ли это к угрозе безопасности? В реальной жизни отключение JS может вызвать проблемы в приложении (например, атака XSS с отключением .js, проверяющего проверку входных данных пользователя) или в любом случае любая проверка на стороне пользователя, а не на стороне сервера.