Описание тега userscripts
Пользовательские скрипты в первую очередь относятся к расширениям javascript для веб-браузеров. Пользовательские скрипты могут автоматизировать или настраивать действия, и / или они могут изменять макет или даже "смешивать" разные веб-сайты.
Пользовательские скрипты обычно устанавливаются в браузеры с помощью надстройки / расширения диспетчера пользовательских скриптов, но некоторые браузеры имеют ограниченную встроенную поддержку.
В большинстве браузеров при использовании диспетчера пользовательских скриптов пользовательские скрипты имеют доступ к расширенному API, который позволяет выполнять некоторые действия, которые не разрешены для обычного кода JavaScript, выполняемого в области страницы. Однако этот расширенный API значительно менее мощный, чем то, что доступно для фактических расширений браузера.
Пользовательские скрипты доступны в большинстве браузеров:
- Dolphin: Менеджеры пользовательских скриптов: Tampermonkey.
- Edge: Менеджеры пользовательских скриптов: Tampermonkey.
- Firefox: менеджеры пользовательских скриптов: дополнения Tampermonkey, Violentmonkey и Greasemonkey.
- Google Chrome: изначально поддерживается. Менеджеры пользовательских скриптов: Tampermonkey, Violentmonkey.
- Internet Explorer: поддержка через расширение Trixie.
- Opera: Поддерживается изначально. Менеджеры пользовательских скриптов: Tampermonkey.
- Сафари 4-: Поддерживается после установки SIMBL и GreaseKit.
- Safari 5+: поддерживается через NinjaKit (японский сайт, ссылка для скачивания на английском).
- Safari 5.1+: поддерживается Tampermonkey.
- UC Browser: Менеджеры пользовательских скриптов: Tampermonkey.
Скрипты, предназначенные для Greasemonkey или Tampermonkey, должны иметь теги greasemonkey-4 или tampermonkey.
Если пользовательский скрипт предназначен для кроссбраузерности (не всегда стоит проблем), используйте как пользовательские скрипты, так и tampermonkey.
Изменения API пользовательского скрипта: в
течение некоторого времени API, предоставляемые менеджерами пользовательского скрипта, были достаточно совместимы. Эти API-интерфейсы были синхронными, за исключением вызовов AJAX. Однако Greasemonkey 4.X переписал API-интерфейсы, которые он представляет для пользовательских скриптов, так, чтобы они были асинхронными, с использованием Promises, что делает скрипты, использующие эти API, не обратно / перекрестно совместимыми. Проект Greasemonkey предоставляет полифил, который пользовательские скрипты могут@require
для написания скриптов с использованием их новых API, которые будут работать в других менеджерах пользовательских скриптов.
Tampermonkey начал предоставлять поддержку этих API на основе Promise.
Ресурсы:
- Подробное руководство по включению пользовательских скриптов во всех основных браузерах.
- Google Chrome, пользовательские скрипты, проектный документ
- Opera, документация по пользовательскому JavaScript
- Пользовательские скрипты, совместимые с Chrome, на userscripts.org
- Пользовательские скрипты, совместимые с Opera, на userscripts.org
- Greasemonkey вики
- Scriptish вики