Свежие записи

Популярные статьи

Последние комментарии

Подключение собственных скриптов к Mozilla Firefox: плагин Greasemonkey

5 апреля 2009. Рубрики: Рабочие заметки; автор — Княгиня.

Сегодняшнюю заметку я решила посвятить подключению пользовательских скриптов (user scripts) к браузеру Mozilla Firefox. UPD: тестировано на Фаерфоксе 3 и 5, с Greasemonkey до версии 0.9.5 включительно. Не всегда бывает необходимость в таких скриптах, но уж если она возникла…

Лирическое отступление

Допёк меня один человек на форуме (вообще-то, два, но первый больше). И пишет-то зачастую толково и интересно, да только нет-нет да и впихнёт какую пакость. А у меня от этих подначек короткое замыкание с перекаливанием, хоть на форум вообще не ходи. Чаша терпения переполнилась, когда мне было сказано, что у меня глючит ч.ю.-браузер. Это у меня-то — браузер, хоть какой ни возьми?..

…И сказала тогда Княгиня: «Не княжеское то дело — нервы себе всяко разно такими Гаврилами трепать. И вообще, профи я, или нет?»

Функции игнора на форуме нет. Пришлось обеспечить игнор на уровне браузера. Да-да, его, родимого. Это у меня ч.ю. такое. Привыкла я любой браузер ставить на место, не мытьём, так катаньем. Ну, кроме морально устаревших или особо экзотических.

Если вы не знаете, что такое 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 новый скрипт начинает работать без перезагрузки браузера.

Ну, а дальше было делом техники написать и отладить скрипт, который обсчитывает страницу, определяет сообщения, принадлежащие опальному пользователю, и делает их невидимыми. Список опальных можно изменять в любую сторону. А через три дня пришлось дописать удаление цитат в сообщениях других пользователей: нервы были дороже.

Недостатки, общие для всех таких скриптов: работает не мгновенно и подтормаживает страницу. Как ни оптимизируй — до нуля время работы свести не выйдет. Но в моём случае это — умеренная плата за сохранение нервов. А также за избавление от великопостных искушений.

Отзывы (7) на «Подключение собственных скриптов к Mozilla Firefox: плагин Greasemonkey»

Оставить свой отзыв »

  1. Аня:

    Ой, это ж сколько у тебя терпения.

    [Ответить на этот комментарий]

    Княгиня — апреля 5, 2009 || 22:59

    Не поняла: из чего это следует?

    [Ответить на этот комментарий]

  2. Sebastian Field:

    Спасибо!!! Помогло!

    [Ответить на этот комментарий]

  3. Анонимно:

    Вот нигде не могу найти в Интернете по русски где бы описывалось:
    1.как настроить какой-нибудь дебаггер, так чтобы он видел код пользовательских скриптов, во время их срабатывания на сайтах.
    2.Еще когда именно срабатывает пользовательский скрипт, после выполнения всех скриптов на странице или после, и как это указать если возможно.
    3.И еще, как можно сделать чтобы пользовательские скрипты срабатывались при открытии страниц на жестком диске, например file:///J:/WebServers/home/exp/www/ajax/ajax.html

    [Ответить на этот комментарий]

    Княгиня — апреля 9, 2011 || 14:23

    1.Под пользовательские не искала, пользуюсь плагином Фаербаг (Firebug), мне хватает. Правда, он обычно видит только ошибки.

    2.Не проверяла. Можно проверить: создать страничку с большим красным блоком, на страничке создать скрипт, прячущий этот блок, и подключить пользовательский скрипт, открывающий этот же блок. И посмотреть, какой скрипт побеждает; он и срабатывает последним.

    3.Попробуйте указать скрипту, что работать надо на странице «J:/WebServers/home/exp/www/ajax/ajax.html»

    [Ответить на этот комментарий]

  4. BlackJack:

    «начиная с версии 0.9, скрипт будет сбрасываться при перезагрузке браузера» – я думал это пятый файрфокс глючит. У меня Гризманки сам собой обновляется, и все скрипты работали, пока я не стал подключать новый.

    [Ответить на этот комментарий]

    Княгиня — августа 10, 2011 || 22:25

    А я вообще не знала, что думать, когда скрипты вдруг выпали из списка все до единого при попытке подключить ещё один. И у всех было человеческое описание — на русском. Я убила два раза по полдня, прежде чем поняла, что скрипты без описаний не выпадают. До этого я успела поотключать все плагины по очереди, перерыть Гугль по всем подходящим по смыслу вопросам и задать вопрос на тематическом форуме.

    [Ответить на этот комментарий]

Есть что сказать? Не молчим!

Используйте теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> .

Ссылки с комментариев dofollow. Поле «Ваш сайт» — только для персонального сайта/блога комментатора!