Грязная обезьяна - Greasemonkey
Оригинальный автор (ы) | Аарон Будман |
---|---|
Разработчики) | Энтони Лиеуаллен, Йохан Сундстрём,[1] Еще 13[2] |
изначальный выпуск | 28 марта 2005 г.[3] |
Стабильный выпуск | 4.9 / 12 июня 2019 |
Репозиторий | |
Написано в | JavaScript, XUL, CSS |
Операционная система | Кроссплатформенность |
Доступно в | английский |
Тип | Расширение Mozilla |
Лицензия | Лицензия MIT |
Интернет сайт | www |
Содержание |
---|
Происхождение и происхождение |
Категория |
Грязная обезьяна это менеджер пользовательских скриптов предоставлен в качестве Mozilla Firefox расширение. Это позволяет пользователям устанавливать скрипты которые вносят изменения в страница в Интернете контент после или до загрузки страницы в браузере (также известный как расширенный просмотр ).
Изменения, внесенные на веб-страницы, выполняются каждый раз при просмотре страницы, что делает их фактически постоянными для пользователя, запускающего сценарий.
Greasemonkey можно использовать для настройки внешнего вида страниц, добавления новых функций к веб-страницам (например, встраивания сравнения цен в торговые сайты), исправления ошибок визуализации, объединения данных с нескольких веб-страниц и многих других целей.
История
Проект Greasemonkey начался 28 ноября 2004 года, автор - Аарон Будман.[4][5][6] Будман был вдохновлен написать Greasemonkey после просмотра расширения Firefox, предназначенного для очистки интерфейса Вся музыка.[7] Это расширение было написано Адриан Головатый, который впоследствии стал разработчиком юзерскриптов. К маю 2005 года для Greasemonkey было распространено около 60 общих и 115 специфичных для сайта пользовательских скриптов.[7] В это время также был разработан компилятор Greasemonkey для преобразования пользовательского скрипта в отдельное расширение Firefox.[8] Первоначально Greasemonkey получил жалобы от издателей на его способность блокировать рекламу.[9] Однако эта критика сместила акцент на другие дополнения, начиная с выпуска 2006 г. Adblock Plus.
Userscripts.org
Чтобы вместить растущее количество скриптов, в конце 2005 года Бритт Селвителле и другие члены сообщества Greasemonkey основали userscripts.org. Userscripts.org был открыт в 2007 году, но позже сайт отошел от этой кодовой базы.[10] В качестве основного репозитория сценариев, указанного на официальном сайте Greasemonkey, userscripts.org собирает тысячи сценариев в год.
В 2010 году последний известный администратор Джесси Эндрюс сообщил, что сайт находится в режиме обслуживания из-за нехватки времени, и попросил нового сопровождающего добровольно.[11] Тем не менее, он оставался единственным администратором сайта, пока 1 апреля 2013 года не началось обсуждение количества установок.[12] До этого многие из «самых популярных скриптов», перечисленных на сайте, имели номинальное нулевое количество установок. В течение следующего года спам-скрипты стали более распространенными, время простоя сервера увеличилось, а ошибка счетчика установок осталась.[13] Поскольку Эндрюс больше не общался, авторы пользовательских скриптов описали этот сайт как запущенный, а официальный сайт Greasemonkey удалил ссылку на его первую страницу.[14][15] В ответ сценаристы и другие разработчики начали работу над вилка "openuserjs.org",[16][17] а затем greasyfork.org,[18] в качестве немедленной замены.[19]
В мае 2014 года userscripts.org стал недоступен на 80-м порте, вместо этого пользователям предлагалось получить к нему доступ через 8080-й порт.[13] В августе 2014 года сайт был полностью остановлен. Большинство его скриптов были скопированы на статическое зеркало userscripts-mirror.org, где их теперь можно найти.[13]
Технические детали
Пользовательские скрипты Greasemonkey написаны на JavaScript и управлять содержимым веб-страницы с помощью Объектная модель документа интерфейс. Сценарии обычно пишутся для конкретных страниц или домена (применяются ко всем страницам в домене), но также могут быть помечены тегами для применения ко всем доменам для глобальных улучшений браузера. Пользователи Greasemonkey могут писать или загружать сценарии и сохранять их в своей личной библиотеке. Когда пользователи посещают веб-сайт, соответствующий сценарию в их личной библиотеке сценариев, Greasemonkey вызывает соответствующие сценарии.
Сценарии Greasemonkey могут изменять веб-страницу любым способом, который позволяет JavaScript, с определенными ограничениями безопасности Greasemonkey. Скрипты также могут получить доступ к другим веб-страницам и веб-сервисы через без ограничений домена XMLHTTP запрос, позволяющий объединить внешний контент с исходным содержимым страницы.
Скрипты названы какое-то имя.user.js, и Greasemonkey предлагает установить любой такой сценарий, когда запрашивается URL-адрес, заканчивающийся этим суффиксом. Скрипты Greasemonkey содержат метаданные который определяет имя сценария, описание, ресурсы, необходимые для сценария, пространство имен URL-адрес, используемый для различения сценариев с одинаковыми именами и шаблонов URL-адресов, для которых сценарий предназначен для вызова или нет.
Написание скрипта Greasemonkey похоже на написание JavaScript для веб-страницы с некоторыми дополнительными допусками, такими как межсайтовый XMLHttpRequests. По сравнению с написанием полноценного расширения Firefox, пользовательские сценарии - это очень скромный шаг по сложности по сравнению с базовым веб-программированием. Однако скрипты Greasemonkey ограничены из-за ограничений безопасности, налагаемых Mozilla XPCNativeWrappers.[20] Например, скрипты Greasemonkey не имеют доступа ко многим компонентам Firefox, таким как менеджер загрузок, Процессы ввода / вывода или его основные панели инструментов. Кроме того, скрипты Greasemonkey запускаются для каждого экземпляра соответствующей веб-страницы. Из-за этого сложно управлять списками элементов глобально. Однако авторы сценариев используют файлы cookie, и Greasemonkey даже предлагает API, такие как GM_getValue и GM_setValue, чтобы преодолеть это.
Пользовательские скрипты
Серверы хостинга файлов для Greasemonkey требуют, чтобы URL для сценариев, заканчивающихся на .user.js
а не с Тип MIME подобно текст / html
. Поддержка для HTTPS встретится с[требуется разъяснение ] Встроенная программа проверки обновлений Greasemonkey. По состоянию на июль 2019 года в проекте Greasemonkey перечислены три рекомендуемых хостинга пользовательских скриптов:[21]
- Суть, а пастебин сервис, управляемый GitHub, где хранятся простые файлы. Файлы можно вставлять в веб-форму и сохранять. HTTPS используется по умолчанию. Файлы могут следовать схеме именования с суффиксом «.user.js» для URL-адреса, служащего ссылкой для установки.
- Greasy Fork, сайт, созданный разработчиком userstyles.org.[18]
- OpenUserJS.org, сайт, который начинался как вилка для устаревшего репозитория скриптов userscripts.org.[16][17]
Совместимость
Greasemonkey доступен для Fire Fox, Стадо и GNOME Web (ранее назывался Богоявленским). Расширение Greasemonkey для Интернета является частью Веб-расширения упаковка. Однако это расширение не полностью совместимо с выпуском 2.15.1, поскольку некоторые Greasemonkey API функции (например, GM_getValue) не поддерживаются. Также есть кастомные версии для SeaMonkey,[22][23] Певчая птица,[24] Бледная луна,[25] Qutebrowser [26]и Фалькон браузер.
Смотрите также
- Список расширенного программного обеспечения для просмотра
- Список расширений Firefox
- Стильный
- Tampermonkey
Рекомендации
- ^ "Интернет-журнал о Greasemonkey".
- ^ "Сетевой граф greasemonkey".
- ^ "Первоначальный выпуск Greasemonkey".
- ^ "Информация о проекте Greasemonkey". Архивировано из оригинал 25 марта 2012 г.. Получено 31 августа 2011.
- ^ Пилигрим, Марк (2005). Greasemonkey Взломы. О'Рейли. ISBN 978-0-596-55357-9.
- ^ "Аарон Будман написал Greasemonkey в 2004 году".
- ^ а б Сингел, Райан (17 мая 2005 г.). "Пользователи Firefox, обезьяна с Интернетом?". Проводной журнал.
- ^ Ниви (8 мая 2005 г.). «Greasemonkey взорвет бизнес-модели (как и ваш разум)». Архивировано из оригинал 3 июня 2006 г.. Получено 22 июля 2010.
- ^ Феста, Пол (24 марта 2005 г.). «Надстройка Firefox позволяет пользователям настраивать сайты, но безопасно ли это?». CNET.
- ^ Селвителле, Бритт (3 января 2007 г.). "Userscripts.org ... Открытый исходный код!". Архивировано из оригинал 17 января 2007 г.. Получено 21 мая 2014.
- ^ «Передача факела на userscripts.org». Хакерские новости. 2010. Получено 24 октября 2014.
- ^ «Исправление количества установок». 1 апреля 2013 г. Архивировано с оригинал 3 ноября 2013 г.. Получено 21 мая 2014.
- ^ а б c Бринкманн, Мартин (9 мая 2014 г.). "Userscripts.org навсегда закрыт? Вот альтернативы". Получено 21 мая 2014.
- ^ «Хостинг пользовательских сценариев». 16 мая 2014 г.. Получено 21 мая 2014.
- ^ "Пожалуйста, измените официальный пользовательский скрипт сайта". greasemonkey-dev (Список рассылки). 21 апреля 2014 г.. Получено 21 мая 2014.
- ^ а б "OpenUserJS". openuserjs.org.
- ^ а б «Исправление количества установок - стр. 6». 1 апреля 2013 г. Архивировано с оригинал 3 ноября 2013 г.. Получено 5 ноября 2015.
- ^ а б «Жирная вилка». greasyfork.org.
- ^ Барнабе, Джейсон (19 февраля 2014 г.). «Представляем Greasy Fork - сайт пользовательских скриптов». Получено 5 ноября 2015.
- ^ .https://developer.mozilla.org/en/XPCNativeWrapper
- ^ "Хостинг пользовательских скриптов - GreaseSpot Wiki". wiki.greasespot.net. Получено 22 июля 2019.
- ^ "Грязная обезьяна". mozdev.org. Моздев. Получено 5 мая 2009.
- ^ "Порт Greasemonkey для SeaMonkey - О программе - OpenUserJS". openuserjs.org.
- ^ ианлоик. "Грязная обезьяна". Певчая птица. Архивировано из оригинал 2 июня 2008 г.. Получено 5 мая 2009.
- ^ "janekptacijarabaci / greasemonkey". GitHub. Получено 23 марта 2020.
- ^ «Улучшения для поддержки GreaseMonkey · Проблема № 3238 · qutebrowser / qutebrowser». GitHub. Получено 19 мая 2020.
внешняя ссылка
СМИ, связанные с Грязная обезьяна в Wikimedia Commons