Сегодняшнюю заметку я решила посвятить подключению пользовательских скриптов (user scripts) к браузеру Mozilla Firefox. UPD: тестировано на Фаерфоксе с 3 по 12, с Greasemonkey до версии 0.9.18 включительно. Не всегда бывает необходимость в таких скриптах, но уж если она возникла…
Лирическое отступление
Допёк меня один человек на форуме (вообще-то, два, но первый больше). И пишет-то зачастую толково и интересно, да только нет-нет да и впихнёт какую пакость. А у меня от этих подначек короткое замыкание с перекаливанием, хоть на форум вообще не ходи. Чаша терпения переполнилась, когда мне было сказано, что у меня глючит ч.ю.-браузер. Это у меня-то — браузер, хоть какой ни возьми?..
…И сказала тогда Княгиня: «Не княжеское то дело — нервы себе всяко разно такими Гаврилами трепать. И вообще, профи я, или нет?»
Функции игнора на форуме нет. Пришлось обеспечить игнор на уровне браузера. Да-да, его, родимого. Это у меня ч.ю. такое. Привыкла я любой браузер ставить на место, не мытьём, так катаньем. Ну, кроме морально устаревших или особо экзотических.
Если вы не знаете, что такое Firefox (он же Файерфокс, он же Огнелис) и где его берут, то, скорее всего, не сумеете написать скрипт. Но это не значит, что для вас всё потеряно: скачать Firefox вам никто не мешает (http://www.mozilla.com/), а скрипты можно найти готовые. Однако для моего конкретного случая понадобилось написать «индпошив».
Скрипт к браузеру подключается с помощью бесплатного плагина Greasemonkey (скачать плагин); перед установкой плагина убедитесь, что путь к профилю браузера не содержит кириллицы: плагин не будет работать. Такое может произойти, если кириллицей записана ваша учётная запись на компьютере («Вася» или «Администратор»), а Firefox установлен в папку по умолчанию. В этом случае придётся создать новый профиль.
Также может повредить кириллица в самих скриптах: после очередного обновления плагина послетали скрипты, содержащие кириллические комментарии: в папке они есть, а плагин их не видит. Поиск глюка был долгим.
Создание нового профиля для Firefox
Главное меню: «Пуск» ? «Выполнить», набираем
"C:\Program Files\Mozilla Firefox\firefox.exe" -p -no-remote
(C:\Program Files\Mozilla Firefox\firefox.exe — путь к папке браузера по умолчанию; если вы устанавливали в другую папку, то указываете свой). Откроется окно выбора профилей Firefox с обычными кнопками «Создать», «Переименовать», «Удалить». Кнопка «Создать» открывает Мастер создания профиля. В нём следует указать название и путь к папке, где будут храниться настройки новой учётной записи: напоминаю, все папки должны быть названы латиницей. Кстати, хранение настроек и параметров Firefox не в системной папке позволит в случае переустановки системы восстановить профиль со всеми настройками.
Установка скриптов
Как добавить скрипт
После создания профиля и установки плагина можно приступать собственно к подключению скриптов. В меню браузера открываем вкладку «Инструменты» ? «Greasemonkey» ? «Новый скрипт» (кстати, не забудьте поставить галочку «включить Greasemonkey» — обезьянья мордочка в правом нижнем углу окна браузера станет яркой; когда плагин отключён, мордочка серая). В появившемся окне укажите
- название скрипта,
- пространство имён (придумайте сами; можно взять любое сочетание букв, только помните, что оно должно быть уникальным, то есть, собственным для каждого скрипта),
- описание (латиницей),
- адрес страницы, на которой применяется скрипт (по умолчанию это страница, на которой в данный момент открыт браузер; чтобы указать множество страниц, используется символ *, например, в случае http://site.ru/ скрипт применяется только к этой одной странице, а в случае http://site.ru/* — ко всему сайту site.ru).
После нажатия на клавишу «Ок» откроется текстовый редактор, при этом, если вы создаёте скрипт впервые, вам будет предложено выбрать редактор на ваше усмотрение. Если впоследствии вы решите, что ошиблись выбором, в версиях Greasemonkey, начиная с 0.9, редактор можно изменить в настройках самого плагина. В более ранних версиях изменить редактор можно в настройках браузера: набрав about:config в адресной строке, найдите строку greasemonkey.editor и укажите путь к новому редактору.
Кстати, если путь к учётной записи содержит кириллицу, вы узнаете об этом именно в момент первого открытия редактора (если не позаботились раньше). В этом случае вам следует назначить новый профиль, как описано выше. Если же вы по ошибке заполнили кириллицей описание скрипта, то в Greasemonkey, начиная с версии 0.9, скрипт будет сбрасываться при перезагрузке браузера.
Скрипты расположатся в папке /профиль_FF/gm_scripts/папка_скрипта. В последних версиях Greasemonkey новый скрипт начинает работать без перезагрузки браузера.
Ну, а дальше было делом техники написать и отладить скрипт, который обсчитывает страницу, определяет сообщения, принадлежащие опальному пользователю, и делает их невидимыми. Список опальных можно изменять в любую сторону. А через три дня пришлось дописать удаление цитат крамольника из сообщениий других пользователей: нервы были дороже.
Недостатки, общие для всех таких скриптов: работает не мгновенно и подтормаживает страницу. Как ни оптимизируй — до нуля время работы свести не выйдет. Но в моём случае это — умеренная плата за сохранение нервов. А также за избавление от великопостных искушений.
17 комментариев на «Подключение собственных скриптов к Mozilla Firefox: плагин Greasemonkey»
Аня (42 комментария)
Ой, это ж сколько у тебя терпения.
Княгиня (660 комментариев)
Не поняла: из чего это следует?
Sebastian Field (1 комментарий)
Спасибо!!! Помогло!
Аноним (1 комментарий)
Вот нигде не могу найти в Интернете по русски где бы описывалось:
1.как настроить какой-нибудь дебаггер, так чтобы он видел код пользовательских скриптов, во время их срабатывания на сайтах.
2.Еще когда именно срабатывает пользовательский скрипт, после выполнения всех скриптов на странице или после, и как это указать если возможно.
3.И еще, как можно сделать чтобы пользовательские скрипты срабатывались при открытии страниц на жестком диске, например file:///J:/WebServers/home/exp/www/ajax/ajax.html
Княгиня (660 комментариев)
1.Под пользовательские не искала, пользуюсь плагином Фаербаг (Firebug), мне хватает. Правда, он обычно видит только ошибки.
2.Не проверяла. Можно проверить: создать страничку с большим красным блоком, на страничке создать скрипт, прячущий этот блок, и подключить пользовательский скрипт, открывающий этот же блок. И посмотреть, какой скрипт побеждает; он и срабатывает последним.
3.Попробуйте указать скрипту, что работать надо на странице «J:/WebServers/home/exp/www/ajax/ajax.html»
BlackJack
«начиная с версии 0.9, скрипт будет сбрасываться при перезагрузке браузера» – я думал это пятый файрфокс глючит. У меня Гризманки сам собой обновляется, и все скрипты работали, пока я не стал подключать новый.
Княгиня (660 комментариев)
А я вообще не знала, что думать, когда скрипты вдруг выпали из списка все до единого при попытке подключить ещё один. И у всех было человеческое описание — на русском. Я убила два раза по полдня, прежде чем поняла, что скрипты без описаний не выпадают. До этого я успела поотключать все плагины по очереди, перерыть Гугль по всем подходящим по смыслу вопросам и задать вопрос на тематическом форуме.
semotion (1 комментарий)
Никто случаем не знает есть ли аналог Greasemonkey в Google Chrome?
Княгиня (660 комментариев)
Там скрипты подключаются без плагина — прямо на вкладке «Расширения».
Николай (1 комментарий)
Здравствуйте! Помогите разобраться в некоторых вещах на этом сайте. Спасибо!
Княгиня (660 комментариев)
С какими именно вещами? По вашей ссылке страница не работает. А если вам надо отследить работу скриптов в Мозилле, то рекомендую плагин Firebug — дюже полезный.
k-igor (4 комментария)
Firebug очень полезен для ковыряния в коде)))
Княгиня (660 комментариев)
Постоянно пользуюсь. К старому ИЕ был Developer Toolbar (начиная с восьмёрки он встроен), в Хроме инструменты разработчика встроенные, в Опере это, кажется, Dragonfly называется. Но посколько ФФ у меня основной, Фаербаг тоже впереди всех.
nikita (1 комментарий)
Добрый день! Подскажите пожалуйста, где найти скрипт для удаления «гениальных» комментариев нежелательных пользователей на сайте fotostrana.ru
На userscripts.org не нашёл. Может кто может помочь в написании и отладке скрипта? Очень прошу! У самого ума не хватает.
Княгиня (660 комментариев)
Я не могу заочно дать конкретный совет. Либо совет общего характера, либо реальная починка, и это уже платная работа. Но данный случай, похоже, выходит за рамки моей компетентности.