Смазка
![]() | |
Оригинальный автор(ы) | Аарон Будман |
---|---|
Разработчик(и) | Энтони Лиуаллен, Йохан Сундстрем, [1] еще 13 [2] |
Первоначальный выпуск | 28 марта 2005 г [3] |
Стабильная версия | 4.12 / 2 декабря 2023 г |
Репозиторий | |
Написано в | JavaScript , XUL , CSS |
Операционная система | Кросс-платформенный |
Доступно в | Английский |
Тип | Расширение Мозиллы |
Лицензия | МОЯ лицензия |
Веб-сайт | www |
![]() |
Похожие статьи |
---|
Происхождение и родословная |
Категория |
Greasemonkey — это менеджер пользовательских сценариев , доступный как Mozilla Firefox расширение . Он позволяет пользователям устанавливать сценарии , которые оперативно вносят изменения в содержимое веб-страницы после или до загрузки страницы в браузере (также известное как расширенный просмотр ).
Изменения, внесенные в веб-страницы, выполняются каждый раз при просмотре страницы, что делает их фактически постоянными для пользователя, запускающего сценарий.
Greasemonkey можно использовать для настройки внешнего вида страниц, добавления к веб-страницам новых функций (например, встраивания сравнения цен на торговые сайты), исправления ошибок рендеринга, объединения данных с нескольких веб-страниц и для множества других целей.
История
[ редактировать ]Проект Greasemonkey начался 28 ноября 2004 года и написан Аароном Будманом. [4] [5] [6] Будман был вдохновлен на написание Greasemonkey после просмотра расширения Firefox, предназначенного для очистки интерфейса AllMusic . [7] написан Адрианом Головатым , который позже стал разработчиком пользовательских скриптов. К маю 2005 года для Greasemonkey было распространено около 60 общих и 115 пользовательских сценариев для конкретных сайтов. [7] В июле 2005 года Марк Пилигрим обнаружил в Greasemonkey серьезные уязвимости. [8] [9] и исправлено в версии Greasemonkey 3.5. [10] За это время был также разработан компилятор Greasemonkey для преобразования пользовательского скрипта в автономное расширение Firefox. [11] Первоначально издатели столкнулись с жалобами Greasemonkey на его способность блокировать рекламу. [12] Однако эта критика переключила свое внимание на другие дополнения, начиная с выпуска Adblock Plus в 2006 году .
Userscripts.org
[ редактировать ]Чтобы разместить растущее количество скриптов, Бритт Селвителле и другие члены сообщества Greasemonkey в конце 2005 года основали userscripts.org. В 2007 году исходный код Userscripts.org был открыт, но позже сайт отошел от этой кодовой базы. [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 и манипулируют содержимым веб-страницы с помощью интерфейса объектной модели документа . Сценарии обычно пишутся либо для конкретной страницы, либо для конкретного домена (применяются ко всем страницам в домене), но также могут быть помечены для применения ко всем доменам для глобальных улучшений браузера. Пользователи 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]
- Gist — служба вставки , управляемая GitHub, где размещаются простые файлы. Файлы можно вставить в веб-форму и сохранить. HTTPS используется по умолчанию. Файлы могут следовать схеме именования с суффиксом «.user.js» для URL-адреса, служащего ссылкой для установки.
- Greasy Fork — сайт, созданный сопровождающим userstyles.org. [21]
- OpenUserJS.org — сайт, который начинался как ответвление устаревшего репозитория скриптов userscripts.org. [19] [20]
Совместимость
[ редактировать ]Greasemonkey доступен для Firefox , Flock и GNOME Web (ранее называвшегося Epiphany). Расширение Greasemonkey для Интернета является частью пакета веб-расширений . Однако это расширение не полностью совместимо с версией 2.15.1, поскольку некоторые API функции Greasemonkey (например, GM_getValue ) не поддерживаются. Также существуют кастомные версии для SeaMonkey , [25] [26] Певчая птица , [27] Бледная луна , [28] кутебраузер , [29] и Falkon браузер .
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ ботинки (23 августа 2009 г.). «Greasespot: Outie» . Смазочное пятно .
- ^ «Сетевой граф Greemonkey» . Гитхаб .
- ^ «История версий — GreaseSpot Wiki» . wiki.greasespot.net .
- ^ «Информация о проекте Greasemonkey» . Архивировано из оригинала 25 марта 2012 года . Проверено 31 августа 2011 г.
- ^ Пилигрим, Марк (2005). Хаки Greasemonkey . О'Рейли. ISBN 978-0-596-55357-9 .
- ^ Будман, Аарон (1 февраля 2010 г.). «Еще 40 000 расширений!» . Блог Хрома . Проверено 5 марта 2023 г.
- ^ Jump up to: а б Сингел, Райан (17 мая 2005 г.). «Пользователи Firefox обезьянничают в Интернете?» . Проводной журнал.
- ^ «[Greasemonkey] Greasemonkey для защиты данных в незащищенных сетях/сайтах» . Архивировано из оригинала 3 марта 2020 года . Проверено 24 февраля 2021 г.
- ^ «Безопасность [LWN.net]» .
- ^ «mozdev.org – : /pipermail/greasemonkey/2005-July/004379» . сайт mozdev.org . Архивировано из оригинала 29 июля 2005 года.
- ^ Ниви (8 мая 2005 г.). «Greasmonkey взорвет бизнес-модели (а также ваш разум)» . Архивировано из оригинала 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 г.
- ^ Jump up to: а б с Бринкманн, Мартин (9 мая 2014 г.). «Userscripts.org закрыт навсегда? Вот альтернативы» . Проверено 21 мая 2014 г.
- ^ «Хостинг пользовательских сценариев» . 16 мая 2014 года . Проверено 21 мая 2014 г.
- ^ «Пожалуйста, измените официальный сайт пользовательских скриптов» . Greasemonkey-dev (список рассылки). 21 апреля 2014 года . Проверено 21 мая 2014 г.
- ^ Jump up to: а б «ОпенУсерДжС» . openuserjs.org .
- ^ Jump up to: а б «Исправление количества установок – страница 6» . 1 апреля 2013 года. Архивировано из оригинала 3 ноября 2013 года . Проверено 5 ноября 2015 г.
- ^ Jump up to: а б «Жирная вилка» . Greasyfork.org .
- ^ Барнабе, Джейсон (19 февраля 2014 г.). «Представляем Greasy Fork — сайт пользовательских скриптов» . Проверено 5 ноября 2015 г.
- ^ «XPCNativeWrapper — Документы MDC» . Архивировано из оригинала 28 июня 2011 года . Проверено 16 марта 2011 г.
- ^ «Хостинг пользовательских сценариев — GreaseSpot Wiki» . wiki.greasespot.net . Проверено 22 июля 2019 г.
- ^ «Гриммонки» . сайт mozdev.org . моздев . Архивировано из оригинала 23 апреля 2015 года . Проверено 5 мая 2009 г.
- ^ «Порт Greasemonkey для SeaMonkey – О программе – OpenUserJS» . openuserjs.org .
- ^ Янлоик. «Гриммонки» . Певчая птица . Архивировано из оригинала 2 июня 2008 года . Проверено 5 мая 2009 г.
- ^ "janekptacijarabaci/greasemonkey" . Гитхаб . Проверено 23 марта 2020 г.
- ^ «Усовершенствования поддержки GreaseMonkey · Проблема № 3238 · qutebrowser/qutebrowser» . Гитхаб . Проверено 19 мая 2020 г.
Внешние ссылки
[ редактировать ] СМИ, связанные с Greasemonkey, на Викискладе?