Почему Tampermonkey перестаёт работать в Яндекс Браузере
Tampermonkey — менеджер пользовательских скриптов: расширение, которое хранит небольшие программы на JavaScript и запускает их на страницах, адрес которых совпадает с правилом в заголовке скрипта. Яндекс Браузер построен на движке Chromium, поэтому Tampermonkey в нём ведёт себя как в других браузерах этого семейства, но со своими особенностями: у Яндекса собственная защита расширений, своя страница настроек и своё поведение на смартфонах.
Когда скрипты не срабатывают, причина почти всегда в одном из пяти мест:
- расширение выключено или отключено защитой браузера;
- не включён режим разработчика, без которого новые версии Tampermonkey не запускают скрипты;
- сам скрипт выключен в панели управления или не подходит к адресу страницы;
- расширению не разрешена работа в режиме инкогнито или на этом сайте;
- скрипт при установке не смог загрузить внешние части из-за нестабильного интернета.
Проверять стоит в таком порядке: от самого частого к самому редкому.
Как убедиться, что расширение включено
- Откройте меню браузера и перейдите в раздел «Дополнения». Туда же ведёт адрес browser://tune, набранный в адресной строке.
- Найдите Tampermonkey в списке. Переключатель напротив должен быть во включённом положении.
- Если рядом стоит пометка, что расширение отключено из соображений безопасности, нажмите на неё и прочитайте пояснение. Яндекс Браузер вправе выключить расширение, установленное не из своего каталога, или после обновления, которое его защита сочла подозрительным.
- Расширение, установленное из каталога Chrome, Яндекс Браузер сначала держит выключенным и показывает запрос на включение. Его нужно принять, иначе значок появится, а скрипты не запустятся.
- Включите расширение заново и перезагрузите страницу, на которой ждёте скрипт.
- Если значок Tampermonkey не появился на панели, откройте список расширений кнопкой рядом с адресной строкой и закрепите его.
Отдельный случай: значок есть, но серый. Нажмите на него — в выпадающем меню первым пунктом стоит общий переключатель «Включено». Его несложно задеть случайно, и тогда все скрипты молчат при формально работающем расширении.
Что делать, если Tampermonkey требует режим разработчика
Режим разработчика — настройка на странице расширений, которая разрешает им пользоваться расширенными возможностями браузера. В версиях Tampermonkey, собранных под новый формат расширений Chromium (Manifest V3), запуск пользовательских скриптов без этой настройки невозможен: расширение установлено, список скриптов виден, но на страницах ничего не происходит. Tampermonkey обычно показывает в своей панели предупреждение об этом, но его легко пропустить.
- Введите в адресную строку browser://extensions и нажмите Enter.
- В правом верхнем углу найдите переключатель «Режим разработчика» и включите его.
- Полностью закройте браузер и откройте снова: одной перезагрузки страницы здесь не хватает.
- Откройте панель Tampermonkey и проверьте, исчезло ли предупреждение.
Переключатель может сброситься после крупного обновления браузера. Если скрипты работали месяцами и внезапно замолчали все разом, начинайте проверку именно отсюда.
Скрипт установлен, но на нужном сайте не срабатывает
Если общий переключатель включён, а конкретный скрипт не работает, смотрите на сам скрипт. Нажмите значок Tampermonkey и откройте «Панель управления»: там список всего установленного.
| Что видно в панели | Что это значит | Что сделать |
|---|---|---|
| Переключатель у скрипта выключен | Скрипт отключён вручную или после ошибки | Включить и обновить страницу |
| Число на значке расширения — ноль | Ни один скрипт не подходит к адресу страницы | Проверить строки @match и @include в коде |
| Скрипт помечен как устаревший | Автор выпустил новую версию | Запустить проверку обновлений в панели |
| Скрипта нет вовсе | Установка не завершилась | Установить заново из исходного файла |
Частая ситуация: сайт переехал на новый адрес или сменил протокол, а в правиле скрипта остался старый. Tampermonkey сравнивает адрес буквально: страницы с www и без, по http и по https для него разные. Править правило стоит, только если вы понимаете, что делаете; иначе дождитесь обновления от автора.
Если скрипт включён и подходит к адресу, но всё равно молчит, подробности об ошибке видны в консоли разработчика браузера: клавиша F12, вкладка Console. Сообщение с именем скрипта показывает, на какой строке он остановился, и это полезно передать автору, если скрипт чужой.
Ещё две настройки отключают скрипты на части сайтов: разрешение «Доступ к сайтам» в свойствах расширения (должно стоять «на всех сайтах», если вы не ограничивали его сознательно) и разрешение работать в режиме инкогнито — по умолчанию оно выключено.
Как ведёт себя Tampermonkey при ограниченном мобильном интернете
Само расширение работает локально и в сети не нуждается, но скрипты — нуждаются. Многие из них при установке подгружают внешние библиотеки через директиву @require, а затем по расписанию проверяют обновления. На медленном или прерывающемся мобильном соединении это даёт три характерных сбоя:
- установка зависает на окне подтверждения, потому что внешняя часть не докачалась; скрипт либо не появляется в списке, либо появляется неработающим;
- проверка обновлений заканчивается ошибкой, и Tampermonkey помечает скрипт как проблемный;
- страница грузится дольше обычного, скрипт запускается раньше, чем появились нужные ему элементы, и ничего не меняет.
Если сбой появился именно в поездке или при слабом сигнале, не переустанавливайте скрипт по мобильной сети: неполная установка поверх старой хуже, чем прежняя рабочая версия. Дождитесь устойчивого соединения и запустите проверку обновлений из панели.
На смартфоне ситуация отдельная. Яндекс Браузер для Android поддерживает часть расширений из каталога Chrome, но Tampermonkey в нём может не устанавливаться или не запускать скрипты — это зависит от версии браузера. Рассчитывать на него как на основной инструмент в телефоне не стоит.
Что сделать заранее, пока связь устойчивая
- Включите режим разработчика и перезапустите браузер, не дожидаясь, пока скрипты откажут.
- Откройте панель Tampermonkey и запустите проверку обновлений для всех скриптов вручную.
- В разделе служебных функций панели выгрузите скрипты в файл и сохраните его вне браузера: после переустановки или сброса профиля его можно импортировать без доступа к исходным источникам.
- Запишите, откуда брали каждый скрипт: при проблемах свежую версию вы будете искать именно там.
- Не держите два менеджера скриптов одновременно: Tampermonkey и похожее расширение перехватывают одни и те же страницы и мешают друг другу.
И последнее, о безопасности. Пользовательский скрипт выполняет произвольный код на страницах, включая страницы банков и почты. Устанавливайте только то, чей источник вам известен, и не включайте скрипт, который просит ввести куда-то пароль или код из СМС.