Оригинальный автор(ы) | Аарон Будман |
---|---|
Разработчик(и) | Энтони Лиуаллен, Йохан Сундстрем, [1] еще 13 [2] |
Первоначальный выпуск | 28 марта 2005 г. ( 2005-03-28 ) | [3]
Стабильный релиз | 4.13 / 5 августа 2024 г. ( 2024-08-05 ) |
Репозиторий |
|
Написано в | JavaScript , XUL , CSS |
Операционная система | Кроссплатформенный |
Доступно в | Английский |
Тип | Расширение Mozilla |
Лицензия | Лицензия Массачусетского технологического института |
Веб-сайт | www.greasespot.net |
Похожие статьи |
---|
Происхождение и родословная |
Категория |
Greasemonkey — это менеджер пользовательских скриптов , доступный как расширение Mozilla Firefox . Он позволяет пользователям устанавливать скрипты , которые вносят изменения в содержимое веб-страницы «на лету» после или до загрузки страницы в браузере (также известный как дополненный просмотр ).
Изменения, вносимые на веб-страницы, выполняются каждый раз при просмотре страницы, что делает их фактически постоянными для пользователя, запустившего скрипт.
Greasemonkey можно использовать для настройки внешнего вида страниц, добавления новых функций на веб-страницы (например, встраивания сравнения цен на сайты покупок), исправления ошибок рендеринга, объединения данных с нескольких веб-страниц и множества других целей.
Проект Greasemonkey начался 28 ноября 2004 года, написан Аароном Будманом. [4] [5] [6] Будман был вдохновлен на написание Greasemonkey после того, как посмотрел на расширение Firefox, разработанное для очистки интерфейса AllMusic , [7] написанное Адрианом Головатым , который позже стал разработчиком пользовательских скриптов. К маю 2005 года для Greasemonkey было распространено около 60 общих и 115 специфичных для сайта пользовательских скриптов. [7] В июле 2005 года серьезные уязвимости были обнаружены в Greasemonkey Марком Пилигримом, [8] [9] и исправлены в версии 3.5 Greasemonkey. [10] В это время также был разработан компилятор Greasemonkey для преобразования пользовательского скрипта в автономное расширение Firefox. [11] Первоначально Greasemonkey получил жалобы от издателей за его способность блокировать рекламу. [12] Однако эта критика переключилась на другие дополнения, начиная с выпуска Adblock Plus в 2006 году .
Чтобы разместить растущее число скриптов, в конце 2005 года Бритт Селвителл и другие члены сообщества Greasemonkey основали userscripts.org. Userscripts.org был открыт в 2007 году, но позже сайт отошел от этой кодовой базы. [13] Как основной репозиторий скриптов, указанный на официальном сайте Greasemonkey, userscripts.org накапливал тысячи скриптов в год.
В 2010 году последний известный администратор Джесси Эндрюс сообщил, что сайт находится в режиме обслуживания из-за нехватки времени, и попросил нового сопровождающего добровольно. [14] Тем не менее, он оставался единственным администратором сайта, пока 1 апреля 2013 года не началось обсуждение количества установок. [15] До этого многие из «самых популярных скриптов», перечисленных на сайте, имели номинальное количество установок, равное нулю. В течение следующего года спам-скрипты стали более распространенными, время простоя сервера увеличилось, а ошибка количества установок осталась. [16] При отсутствии дальнейших сообщений от Эндрюса, авторы пользовательских скриптов описали сайт как заброшенный, и официальный сайт Greasemonkey удалил ссылку на его главную страницу. [17] [18] В ответ авторы скриптов и другие разработчики начали работать над форком «openuserjs.org», [19] [20] а затем и greasyfork.org, [21] в качестве немедленной замены. [22]
В мае 2014 года userscripts.org стал недоступен на порту 80, что побудило пользователей вместо этого заходить на порт 8080. [16] В августе 2014 года сайт был полностью закрыт. Большинство его скриптов были скопированы на статическое зеркало userscripts-mirror.org, где их теперь можно найти. [16]
Пользовательские скрипты Greasemonkey написаны на JavaScript и управляют содержимым веб-страницы с помощью интерфейса Document Object Model . Скрипты обычно пишутся либо как специфичные для страницы, либо как специфичные для домена (применяемые ко всем страницам в домене), но также могут быть помечены для применения ко всем доменам для глобальных улучшений браузера. Пользователи Greasemonkey могут писать или загружать скрипты и сохранять их в своей личной библиотеке. Когда пользователи посещают веб-сайт, соответствующий скрипту в их личной библиотеке скриптов, Greasemonkey вызывает соответствующие скрипты.
Скрипты Greasemonkey могут изменять веб-страницу любым способом, который позволяет JavaScript, с определенными ограничениями безопасности Greasemonkey. Скрипты также могут получать доступ к другим веб-страницам и веб-сервисам через не ограниченный доменом XMLHTTP- запрос, позволяя объединять внешний контент с исходным контентом страницы.
Скрипты называются somename .user.js, и Greasemonkey предлагает установить любой такой скрипт, когда запрашивается URL, заканчивающийся на этот суффикс. Скрипты Greasemonkey содержат метаданные , которые определяют имя скрипта, описание, ресурсы, требуемые скриптом, URL пространства имен , используемый для различения скриптов с одинаковыми именами, и шаблоны URL, для которых скрипт должен вызываться или нет.
Написание скрипта Greasemonkey похоже на написание JavaScript для веб-страницы с некоторыми дополнительными возможностями, такими как межсайтовые XMLHttpRequests . По сравнению с написанием полноценного расширения Firefox, написание пользовательских скриптов — это очень скромный шаг по сложности от базового веб-программирования. Однако скрипты Greasemonkey ограничены из-за ограничений безопасности, налагаемых XPCNativeWrappers от Mozilla [23]. Например, скрипты Greasemonkey не имеют доступа ко многим компонентам Firefox, таким как менеджер загрузок, процессы ввода-вывода или его основные панели инструментов. Кроме того, скрипты Greasemonkey запускаются для каждого экземпляра соответствующей веб-страницы. Из-за этого сложно управлять списками элементов на глобальном уровне. Однако авторы скриптов используют файлы cookie, и Greasemonkey даже предлагает API, такие как GM_getValue и GM_setValue, чтобы преодолеть это.
Файловые хостинговые серверы для Greasemonkey требуют, чтобы URL-адреса для скриптов заканчивались на .user.js
, а не на тип MIME, например text/html
. Поддержка HTTPS будет соответствовать [ необходимо разъяснение ] встроенной проверке обновлений Greasemonkey. По состоянию на июль 2019 года проект Greasemonkey перечисляет три рекомендуемых хостинга пользовательских скриптов: [24]
Greasemonkey доступен для Firefox , Flock и GNOME Web (ранее называвшегося Epiphany). Расширение Greasemonkey для Web является частью пакета расширений Web . Однако это расширение не полностью совместимо с версией 2.15.1, поскольку некоторые функции API Greasemonkey (например, GM_getValue ) не поддерживаются. Существуют также пользовательские версии для SeaMonkey , [25] [26] Songbird , [27] Pale Moon , [28] qutebrowser , [29] и браузера Falkon .
Медиа, связанные с Greasemonkey на Wikimedia Commons