Bookmark and Share

powerupsЯ решил продолжить тему браузеров, начатых вчера Иваном, и рассказать вам немного о таком явлении, как пользовательские скрипты. Что это такое, с чем его едят и для чего это вообще нужно. Так что сегодня у нас будет небольшой ликбез. Плюс я расскажу, как их включить и использовать в наиболее популярных браузерах под Mac OS X.

Немного теории

Думаю, сначала стоит разобраться с тем, что же это за зверь такой — пользовательские скрипты. User script (пользовательский скрипт) — это специальные файлы, написанные на JavaScript, которые выполняются в браузере при загрузке определенной страницы из интернета. Они позволяют автоматически форматировать страницы, скрывать нежелательное содержимое (рекламу), изменять поведение клиентской части веб-приложений, добавлять элементы управления на страницу и т. д.

К примеру, сейчас я использую показ favicon’ов в поисковой выдаче Гугла. Должен сказать, что теперь мне немного легче визуально идентифицировать сайты и быстрее находить то, что я ищу. И таких разнообразных полезностей существует бесчисленное множество.

Структура пользовательских скриптов проста, но для их использования вам даже не потребуется знаний JavaScript. Думаю, не лишним будет отметить тот факт, что модификации, вызванные каким-либо скриптом, будут работать только тех людей, которые этот скрипт установили. Это я так, на всякий случай 😉

На данный момент «большая браузерная четверка» — Safari, Firefox, Opera и Chrome — поддерживает работу с пользовательскими скриптами. Правда, если в Opera и Chrome их поддержка добавлена, что называется, «из коробки», то в Firefox и Safari придется выполнить дополнительные действия для включения userscripts.

Инструкция для Safari

Не секрет, что этот стандартный браузер для Mac OS X является любимцем большинства маководов. Начиная с четвертой версии он стал еще быстрее и приятнее в обращении. На текущий момент, я вижу только единственного конкурента по скорости работы в лице Google Chrome (на базе Chromium). К сожалению, в Сафари нет возможности вот так вот сразу начать пользоваться пользовательскими скриптами — для этого необходимо сначала поставить специальный бандл для библиотеки SIMBL, про которую я как-то уже писал.

Последовательность действий примерна такая:

  1. Устанавливаем SIMBL.
  2. Закрываем Safari, если вы его использовали.
  3. Качаем последнюю версию GreaseKit (на данный момент это 1.7). Это дополнение к SIMBL интересно тем, что оно добавляет пользовательские скрипты ко всем приложениям, которые используют WebKit — веб-движок Safari и большого количества других программ. Установка GreaseKit.bundle происходит по адресу ~/Library/Application Support/SIMBL/Plugins (если у вас там еще нет такого каталога — создайте его вручную и перетащите бандл туда).
  4. Перезапускаем Safari. В меню должен появиться пункт GreaseKit.

gk

Все, теперь мы можем устанавливать пользовательские скрипты в Safari.

Инструкция для Firefox

В Firefox все делается намного проще, хотя в этом браузере тоже нет поддержки скриптов по-умолчанию, но это элементарно решается установкой плагина Greasemonkey. Название — жаргонное слово, означающее «механик» (дословно «замасленная обезьяна»).

greasemonkeylogo

Кстати, помните я писал про Prism? В нем тоже можно использовать GreaseMonkey скрипты, поскольку построен он на Gecko — аналоге WebKit, используемого в Mozilla Project.

Одним из главных преимуществ GreaseKit и GreaseMonkey является то, что они помогают автоматически устанвливать и при помощи встроенного менеджера управлять скриптами. А вот в Opera и Chrome реализована поддержка пользовательских инструкций «из коробки», но пока что нет нормального менеджера, способного управлять, автоматически устанавливать или обновлять их. В общем, приходится жертвовать то одним, то другим :)

Инструкция для Opera

В Опере использовать проще простого. Для этого заходим в Opera→Preferences…

op1

После этого переходим на закладку Advanced и в боковой панели находим пункт Content и нажимаем кнопку JavaScript options. В появившемся окне, в поле под названием «User JavaScript Files» можно будет указать путь к каталогу, в который, собственно, и нужно складывать все скачанные пользовательские скрипты.

op2

Инструкция для Chrome

Самая интересная ситуация у нас с Google Chrome. Если честно, я не знаю, есть ли поддержка пользовательских скриптов в каких-нибудь сборках, отличных от Dev-ветки (ветки для разработчиков), потому что я нахожусь на ней. И просто так добиться работы скриптов не получится — для этого существуют специальные ключи, которые добавляются к параметрам запуска.

В общем, первым делом качаем последний dev-билд. Для того, чтобы запустить Хром с ключом «—enable-user-scripts» нам понадобится немного поработать с Automator. Для этого открываем /Applications/AppleScript Editor.app и вводим do shell script "/Applications/Google/Chrome.app/Contents/MacOS/Google/Chrome --enable-user-scripts". Сохраняем это в виде Chrome.app (или как вы его назовете) с форматом Application (Приложение). В отличие от Opera, скрипты по-умолчанию лежат в директории ~/Library/Application Support/Google/Chrome/Default/User Scripts/.

Как видите, это пока что вариант больше для гиков, чем для нормальных людей :) В любом случае, думаю, что 4-5 версии в Хроме все-таки реализуют нормальную, человеческую поддержку пользовательских скриптов с возможностью управления и другими полезными функциями.

Для двух предыдущих браузеров действует пара простых правил:

  • для того, чтобы не использовать какой-то скрипт, его нужно удалить физически из каталога, в котором он лежит;
  • для того, чтобы временно отключить скрипт — его нужно вырезать из папки и скопировать в любой другой каталог.

Ах да, совсем забыл — брать скрипты можно на сайте Userscripts.org или в любом другом месте, потому что иногда авторы публикуют их только на своих домашних страницах. Только имейте в виду, в силу того, что Firefox получил большое распространения, плагин GreaseMonkey имеет некоторые специфические особенности: при создании скриптов можно использовать директивы и возможности, реализованные только в «Масляной обезьянке». Поэтому в Opera или Chrome они работать не будут.


Читайте также: