Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Greasemonkey - это менеджер пользовательских скриптов, доступный как расширение Mozilla Firefox . Он позволяет пользователям устанавливать сценарии, которые на лету вносят изменения в содержимое веб-страницы после или до загрузки страницы в браузере (также известный как расширенный просмотр ).

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

Greasemonkey можно использовать для настройки внешнего вида страниц, добавления новых функций к веб-страницам (например, встраивания сравнения цен в торговые сайты), исправления ошибок визуализации, объединения данных с нескольких веб-страниц и многих других целей.

История [ править ]

Проект Greasemonkey начался 28 ноября 2004 года, автор - Аарон Будман. [4] [5] [6] Будман был вдохновлен написать Greasemonkey после просмотра расширения Firefox, предназначенного для очистки интерфейса AllMusic . [7] Это расширение было написано Адрианом Головатым , который позже стал разработчиком пользовательских скриптов. К маю 2005 года для Greasemonkey было распространено около 60 общих и 115 специфичных для сайта пользовательских скриптов. [7] В это время также был разработан компилятор Greasemonkey для преобразования пользовательского скрипта в отдельное расширение Firefox. [8] Greasemonkey изначально был встречен издателями жалобами на его способность блокировать рекламу. [9]Однако эта критика сместила акцент на другие дополнения, начиная с выпуска Adblock Plus в 2006 году .

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 без ограничений домена , что позволяет объединить внешний контент с исходным содержимым страницы.

Сценарии называются somename .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, например text/html. Поддержка HTTPS встретится с [ требуется пояснение ] встроенным средством проверки обновлений Greasemonkey. По состоянию на июль 2019 года в проекте Greasemonkey перечислены три рекомендуемых хостинга пользовательских скриптов: [21]

  • Gist , служба pastebin, управляемая GitHub, где размещаются простые файлы. Файлы можно вставлять в веб-форму и сохранять. По умолчанию используется HTTPS . Файлы могут следовать схеме именования с суффиксом «.user.js» для URL-адреса, служащего ссылкой для установки.
  • Greasy Fork, сайт, созданный разработчиком userstyles.org. [18]
  • OpenUserJS.org, сайт , который начался как вилка для устаревшего сценария хранилища userscripts.org. [16] [17]

Совместимость [ править ]

Greasemonkey доступен для Firefox , Flock и GNOME Web (ранее назывался Epiphany). Greasemonkey расширение для Web является частью веб - расширения пакета. Однако это расширение не полностью совместимо с выпуском 2.15.1, поскольку некоторые функции API Greasemonkey (например, GM_getValue ) не поддерживаются. Существуют также специальные версии для SeaMonkey , [22] [23] Songbird , [24] Pale Moon , [25] qutebrowser [26] и браузера Falkon .

См. Также [ править ]

  • Список расширенного программного обеспечения для просмотра
  • Список расширений Firefox
  • Стильный
  • Tampermonkey

Ссылки [ править ]

  1. ^ "Интернет-журнал о Greasemonkey" .
  2. ^ "Сетевой граф greasemonkey" .
  3. ^ "Первоначальный выпуск Greasemonkey" .
  4. ^ "Информация о проекте Greasemonkey" . Архивировано из оригинального 25 марта 2012 года . Проверено 31 августа 2011 года .
  5. ^ Пилигрим, Марк (2005). Greasemonkey Взломы . О'Рейли. ISBN 978-0-596-55357-9.
  6. ^ «Аарон Будман написал Greasemonkey в 2004 году» .
  7. ^ a b Сингел, Райан (17 мая 2005 г.). "Пользователи Firefox, обезьяна с Интернетом?" . Проводной журнал.
  8. ^ Nivi (8 мая 2005). «Greasemonkey взорвет бизнес-модели (как и ваш разум)» . Архивировано из оригинала 3 июня 2006 года . Проверено 22 июля 2010 года .
  9. Festa, Paul (24 марта 2005 г.). «Надстройка Firefox позволяет пользователям настраивать сайты, но безопасно ли это?» . CNET.
  10. ^ Selvitelle, Britt (3 января 2007). "Userscripts.org ... Открытый исходный код!" . Архивировано из оригинального 17 -го января 2007 года . Проверено 21 мая 2014 .
  11. ^ «Передача факела на userscripts.org» . Хакерские новости . 2010 . Проверено 24 октября 2014 года .
  12. ^ «Исправление количества установок» . 1 апреля 2013 г. Архивировано из оригинала 3 ноября 2013 года . Проверено 21 мая 2014 .
  13. ^ a b c Бринкманн, Мартин (9 мая 2014 г.). «Userscripts.org навсегда закрыт? Вот альтернативы» . Проверено 21 мая 2014 .
  14. ^ «Хостинг пользовательских сценариев» . 16 мая 2014 . Проверено 21 мая 2014 .
  15. ^ "Пожалуйста, измените официальный пользовательский скрипт сайта" . greasemonkey-dev (список рассылки). 21 апреля 2014 . Проверено 21 мая 2014 .
  16. ^ a b "OpenUserJS" . openuserjs.org .
  17. ^ a b «Исправление количества установок - стр. 6» . 1 апреля 2013 г. Архивировано из оригинала 3 ноября 2013 года . Дата обращения 5 ноября 2015 .
  18. ^ a b «Жирная вилка» . greasyfork.org .
  19. ^ Barnabe, Джейсон (19 февраля 2014). «Представляем Greasy Fork - сайт пользовательских скриптов» . Дата обращения 5 ноября 2015 .
  20. ^ . https://developer.mozilla.org/en/XPCNativeWrapper
  21. ^ «Хостинг пользовательских сценариев - GreaseSpot Wiki» . wiki.greasespot.net . Проверено 22 июля 2019 .
  22. ^ "Greasemonkey" . mozdev.org . моздев . Проверено 5 мая 2009 года .
  23. ^ "Порт Greasemonkey для SeaMonkey - О программе - OpenUserJS" . openuserjs.org .
  24. ^ ianloic. «Жирная обезьяна» . Певчая птица . Архивировано из оригинала 2 июня 2008 года . Проверено 5 мая 2009 года .
  25. ^ "janekptacijarabaci / greasemonkey" . GitHub . Проверено 23 марта 2020 года .
  26. ^ «Улучшения для поддержки GreaseMonkey · Проблема № 3238 · qutebrowser / qutebrowser» . GitHub . Дата обращения 19 мая 2020 .

Внешние ссылки [ править ]

СМИ, связанные с Greasemonkey на Викискладе?

  • Официальный веб-сайт