Русские Блоги
Простое руководство по написанию скриптов от tamperMonkey
Недавно я научился писать сценарии, у меня есть некоторые идеи, запишите их, давайте вместе делать успехи!
Сначала установите плагин Google Tampermonkey BETA
В Интернете есть много учебных пособий, но tamperMonkey не может быть установлен, или не может быть установлен помощник по доступу. Позвольте мне записать мой процесс установки как меморандум
Примечание. Совместимо только с Google Chrome. Google Access Assistant Baidu облачный адрес Ссылка на сайт: https://pan.baidu.com/s/1Iq8Cw_dMbRIG6mAGjivkYA Пароль: nhdy
1. Нажмите в верхнем правом углу Google Chrome.Значок трех точек,Больше инструментовНажмите Расширение ( E )
2, Присоедините Google Access Assistant _v2.3.0 Перетащите на страницу расширения, Google Assistant автоматически установит его,
3. Нажмите на детали в Google Assistant
5. Следуйте инструкциям на рисунке
6. Добавить новый скрипт
7, Вы можете написать код в редакторе.
В редакторе есть этот шрифт
Интеллектуальная рекомендация
Измените имя хоста, сопоставьте IP-адрес и имя хоста, закройте вход в систему без пароля и пароля по selinux и SSH.
После изменения перезапустите виртуальный, и все будет в порядке. Чтобы мы могли соединяться друг с другом, не вводя IP-адрес в каждой виртуальной машине, мы должны сопоставить IP-адрес и имя хоста. З.
Уханьский университет предложил самый большой в мире набор данных масок, закрывающих лица (ссылка для скачивания прилагается): RMFD
Предисловие НедавниеПолучить COVID-19(Новая коронавирусная пневмония) Пострадавшие от эпидемии научные круги и промышленность последовательно использовали технологии искусственного интеллекта, чтобы п.
Userscripts. Углубляемся
Как упоминалось в предыдущей статье, юзерскрипты поддерживаются всеми современными браузерами. И даже кое-как поддерживаются в IE7 и выше.
Пару слов о движках
Качество поддержки юзерскриптов находится на разном уровне в разных браузерах. Лучше всего поддержка юзерскриптов выполнена в браузерах Firefox и Chrome.
Эти браузеры предоставляют более менее дружелюбные интерфейсы для управления юзерскриптами.
Самые жесткие ограничения на юзерскрипты накладывает Chrome. Но почти все эти ограничения обходятся упаковыванием скрипта в простое расширение. Подробности этого процесса мы обсудим в следующей статье.
Теперь поговорим подробнее о поддержке юзерскриптов в отдельных браузерах.
Поддержка в Firefox
Mozilla Firefox поддерживает юзерскрипты после установки расширения GreaseMonkey (в русском сленге — обезъяна) или Scriptish.
После установки расширений фаерфокс получает поистине мощную поддержку юзерскриптов.
Рассматриваемая далее информация применима в первую очередь к GreaseMonkey (это расширение было первым).
Исторически, все юзерскрипты писались под браузер Firefox именно из-за наличия удобного плагина.
Это обусловливает тот факт, что все браузеры, которые поддерживают юзерскрипты, дополнительно следуют основным правилам спецификации GreaseMonkey по разбору метаданных.
Это означает, что все скрипты, которые были написаны под GreaseMonkey, будут устанавливаться и запускаться в браузерах, поддерживающих юзерскрипты (с минимумом модификаций).
К сожалению, ни один браузер, кроме Firefox, не предоставляет GM API. Этот печальный факт заставляет использовать эмуляции GM API через расширения или дополнительные юзерскрипты.
В случае разработки юзерскрипта «с нуля», я считаю предпочтительным отказаться от эмуляции GM API и использовать «велосипеды» собственного производства. Это позволяет уменьшить число зависимостей юзерскрипта, что, в свою очередь, позволяет вести разработку в рамках концепции одного файла: модифицировать придётся всего один файл; пользователю нужен всего один файл для запуска юзерскрипта.
Концепция одного файла позволяет существенно уменьшить сложность поддержки и кроссбраузерной разработки юзерскриптов!
Поддержка в Chrome
Google Chrome поддерживает юзерскрипты нативно, т.е. не требует установки плагинов/расширений. Можно (иногда нужно) упаковать юзерскрипт в расширение.
Важно: фактически, расширение и юзерскрипт — разные понятия. И если подходить к вопросу строго, стоит говорить о разработке простых расширений под Chrome.
В случае, когда юзерскрипт требует нестандартного, «тяжелого» функционала, он требует упаковки в расширение.
Для упаковывания юзерскрипта в расширение нужно проделать дополнительные действия один раз. Вся последующая разработка будет вестись в рамках концепции одного файла.
Поддержка в Opera
Opera поддерживает юзерскрипты нативно, но не предоставляет сколь-нибудь дружелюбного пользовательского интерфейса для управления скриптами. Такой интерфейс доступен в расширении UJS Manager.
Поддержка в IE
IE7, IE8, IE9 поддерживают юзерскрипты при использовании плагина Trixie.
К тому же, имеется более продвинутый плагин IE7Pro. В IE7Pro помимо поддержки юзерскриптов имеется множество других бесполезных возможностей.
Важно: Если не отключать дополнительные «приблуды» в IE7Pro, то плагин может изрядно тормозить браузер, особенно на тяжёлых страницах.
Как видите, с запуском скриптов у IE дела обстоят паршиво. Остаётся радоваться, что такая возможность вообще имеется.
Важно: Оба плагина могут существовать в системе одновременно, не мешая друг другу.
Важно: Учитывая вышесказанное, я всегда предлагаю своим пользователям использовать Trixie.
Поддержка в Safari
К сожалению, мне не довелось поработать с данным браузером. Буду рад любым разъяснениям в комментариях!
Поговаривают, что для Safari нужны SIMBL и плагин GreaseKit.
Поддержка в Mobile Safari и прочих браузерах
В виду отсутствия поддержки юзерскриптов в менее популярных браузерах и мобильных браузерах, юзерскрипты придётся предоставлять в виде букмарклета.
Соотстветственно, метаданные в таком случае не нужны, а букмарклет придётся запускать руками после каждого рефреша.
На последок
How To Install, Use And Write A Userscript: A Tampermonkey & Violentmonkey Tutorial
1 Introduction
Userscripts can answer all this questions.
A userscript is a set of JavaScript code and metadata that is executed when a web page is loading:
In order to add, update and manage userscripts, a userscript manager must be installed.
2 Installing a userscript manager
From my experience, Tampermonkey is best suited for Chromium-based browsers such as Google Chrome and Opera.
Violentmonkey is currently the best supported userscript manager for Firefox.
Tampermonkey
With more than 10 million users, Tampermonkey is the leading userscript manager. It’s also available in all the major navigators.
Here are the direct pages where you can install the Tampermonkey extension:
More detailed instructions to install Tampermonkey and a comprehensive features overview is presented in the following links: Google Chrome, Opera, Microsoft Edge, Safari.
Violentmonkey
Violentmonkey is the main alternative to Tampermonkey, and is completely open source. It’s available in Firefox, Chrome, Opera and Maxthon.
The following page lists the download links for the different supported browsers: https://violentmonkey.github.io/get-it/
Greasemonkey
Greasemonkey is the original userscript manager. Following Firefox 57, and starting from the version Greasemonkey 4, the extension changed its API to be compatible with the Browser Extension API, and no longer support scripts written using the older GM_ synchronous API (more explanations can be found in this blog post).
I discourage using it at the moment because the majority of userscripts are written using the older API and the other userscript managers don’t support the new asynchronous API.
You will have to install it only if a userscript you want to add is written specifically using the new GM. asynchronous API and doesn’t have a polyfill to support the older API (very rarely).
3 Searching for userscripts
The majority of userscripts are hosted either on openuserjs.org or greasyfork.org.
OpenUserJS
The following example illustrates how to search for a userscript on OpenUserJS and install it on Google Chrome with Tampermonkey:
GreasyFork
Firefox with Violentmonkey is used in the next steps:
Alternatives
Userscripts.org used to be the leading userscript repository. But the website was shut down in 2014, and a mirror web page was launched to host all it’s original userscripts: userscripts-mirror.org
There are some userscripts that are hosted on personal or github pages, a general search engine such as Google can be used in this case to search for them.
4 Using userscripts
A userscript can be configured and interacted with in different ways after installing it:
The userscript manager can also be used to configure security, storage and other script specific settings such as the pages where the script should run as presented in the following section.
Includes and Excludes
The includes/matches are the web pages where the script will run (@include supports regular expressions and @match is safer). The excludes are the pages where the script shouldn’t run.
Even though the userscript already defines includes and excludes in its metadata, they can be overwritten using the userscript manager.
Tampermonkey
Violentmonkey
Userscript examples
Here is a list of the userscripts demonstrated in this guide in addition to others that I personally find very useful:
Что такое Tampermonkey и как им пользоваться
19.06.2019 3 мин. чтения
Tampermonkey — расширение для браузера, с помощью которого можно управлять пользовательскими скриптами для различных сайтов. Данное расширение является чрезвычайно популярным, потому что оно позволяет автоматизировать повседневные задачи, улучшать определенные сайты, меняя их внешний вид, добавляя новые функции или скрывая нежелательные вещи.
Установка расширения Tampermonkey
Как пользоваться Tampermonkey
После установки расширения вам необходимо найти пользовательский скрипт с необходимыми вам функциями для нужного сайта или написать собственный скрипт.
Давайте рассмотрим процесс написания собственного скрипта для автоматизации какого-нибудь действия.
Есть футбольный онлайн менеджер Живи Футболом. Один из способов заработать там виртуальную валюту для своего клуба — это заключать контракты на показ рекламы во время домашних матчей. На бесплатном аккаунте необходимо заходить раз в 15 минут на страницу и проверять возможность заключить более выгодный контракт. Если есть возможность заключить новый контракт, то надо нажать на зеленую стрелочку.
Давайте автоматизируем данное действие с помощью Tampermonkey и нашего скрипта в браузере Google Chrome.
Для создания нового скрипта необходимо нажать на значок расширения, а потом выбрать «Создать новый скрипт…».
В открывшемся окошке мы будем писать наш скрипт. Сначала заполняем начальные параметры:
Дальше напишем код, который будет запрашивать разрешение на вывод уведомлений в браузере.
Наш скрипт запускается только на странице *://soccerlife.ru/base.php?mode=adverts, поэтому если мы сейчас зайдем на главную страницу, то ничего не увидим нового. А если зайдем на страницу с рекламными контрактами, то браузер запросит у нас разрешение на показ уведомлений.
Теперь напишем функцию, которая будет показывать нам уведомления:
Дальше опишем логику наших действий. Нам необходимо на странице найти стрелочки и посмотреть активна хотя бы одна из них или нет. Если хотя бы одна стрелочка активна, значит есть возможность заключить контракт.
Если посмотреть исходный код страницы, то видно, что у активных и неактивных стрелочек есть определенный class. Его мы и будем использовать.
Остается только написать периодический вызов функции для проверки доступности активных предложений:
Теперь пока открыта вкладка с рекламными предложениями наш скрипт каждые 5 минут будет проверять возможность заключить контракт, перезагружая страницу для обновления информации.
Вот так мы автоматизировали один из процессов в онлайн игре.
Tampermonkey как писать скрипты
Tampermonkey — это бесплатное расширение браузера и популярный менеджер UserScript пользовательских скриптов для браузеров Chrome, Microsoft Edge, Safari, Opera Next, и Firefox. Расширение поддерживает такие функции, как простая установка скрипта, автоматические проверки обновлений, простой обзор скриптов, запущеных на вкладке, а также имеет встроенный редактор. Кроме того, есть хорошие шансы на то, что несовместимые скрипты будут нормально работать при использовании расширения.
Tampermonkey: настройка UserScript в браузере
Основные настройки расширения:
Что можно написать на пользовательских скриптах?
Что посмотреть о пользовательских скриптах?
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Как упоминалось в предыдущей статье, юзерскрипты поддерживаются всеми современными браузерами. И даже кое-как поддерживаются в IE7 и выше.
В этой статье мы поговорим о браузерах:
Пару слов о движках
Качество поддержки юзерскриптов находится на разном уровне в разных браузерах. Лучше всего поддержка юзерскриптов выполнена в браузерах Firefox и Chrome.
Эти браузеры предоставляют более менее дружелюбные интерфейсы для управления юзерскриптами.
Самые жесткие ограничения на юзерскрипты накладывает Chrome. Но почти все эти ограничения обходятся упаковыванием скрипта в простое расширение. Подробности этого процесса мы обсудим в следующей статье.
Теперь поговорим подробнее о поддержке юзерскриптов в отдельных браузерах.
Поддержка в Firefox
Mozilla Firefox поддерживает юзерскрипты после установки расширения GreaseMonkey (в русском сленге — обезъяна) или Scriptish.
После установки расширений фаерфокс получает поистине мощную поддержку юзерскриптов.
Рассматриваемая далее информация применима в первую очередь к GreaseMonkey (это расширение было первым).
Установка: юзерскрипты устанавливаются простым перетаскиванием файла скрипта в браузер.
Расширения:GreaseMonkey, Scriptish.
Управление: юзерскрипты можно отключить и удалить в меню, добавляемом расширениями.
Особенности:
GreaseMonkey добавляет так называемый GM API — набор javascript функций, добавляющих функционал юзерскриптам.
Из самых востребованных функций, которые предоставляет GM API, стоит упомянуть:
Подробнее о GM API и функциональности GreaseMoneky можно узнать на http://wiki.greasespot.net.
Исторически, все юзерскрипты писались под браузер Firefox именно из-за наличия удобного плагина.
Это обусловливает тот факт, что все браузеры, которые поддерживают юзерскрипты, дополнительно следуют основным правилам спецификации GreaseMonkey по разбору метаданных.
Это означает, что все скрипты, которые были написаны под GreaseMonkey, будут устанавливаться и запускаться в браузерах, поддерживающих юзерскрипты (с минимумом модификаций).
К сожалению, ни один браузер, кроме Firefox, не предоставляет GM API. Этот печальный факт заставляет использовать эмуляции GM API через расширения или дополнительные юзерскрипты.
В случае разработки юзерскрипта «с нуля», я считаю предпочтительным отказаться от эмуляции GM API и использовать «велосипеды» собственного производства. Это позволяет уменьшить число зависимостей юзерскрипта, что, в свою очередь, позволяет вести разработку в рамках концепции одного файла: модифицировать придётся всего один файл; пользователю нужен всего один файл для запуска юзерскрипта.
Концепция одного файла позволяет существенно уменьшить сложность поддержки и кроссбраузерной разработки юзерскриптов!
Поддержка в Chrome
Google Chrome поддерживает юзерскрипты нативно, т.е. не требует установки плагинов/расширений. Можно (иногда нужно) упаковать юзерскрипт в расширение.
Упаковывание юзерскрипта в расширение позволяет обойти многие ограничения, наложенные Google Chrome на юзерскрипты.
Важно: фактически, расширение и юзерскрипт — разные понятия. И если подходить к вопросу строго, стоит говорить о разработке простых расширений под Chrome.
В случае, когда юзерскрипт требует нестандартного, «тяжелого» функционала, он требует упаковки в расширение.
Для упаковывания юзерскрипта в расширение нужно проделать дополнительные действия один раз. Вся последующая разработка будет вестись в рамках концепции одного файла.
Поддержка в Opera
Opera поддерживает юзерскрипты нативно, но не предоставляет сколь-нибудь дружелюбного пользовательского интерфейса для управления скриптами. Такой интерфейс доступен в расширении UJS Manager.
Поддержка в IE
IE7, IE8, IE9 поддерживают юзерскрипты при использовании плагина Trixie.
К тому же, имеется более продвинутый плагин IE7Pro. В IE7Pro помимо поддержки юзерскриптов имеется множество других бесполезных возможностей.
Важно: Если не отключать дополнительные «приблуды» в IE7Pro, то плагин может изрядно тормозить браузер, особенно на тяжёлых страницах.
Расширения:Trixie, IE7Pro.
Установка: юзерскрипты устанавливаются в папку пользовательских скриптов Trixie (C:/Program Files/Bhelpuri/Trixie/Scripts) или IE7Pro (C:/Program Files/IEPro/userscripts).
Управление: у каждого плагина есть пользовательский интерфейс для управления юзерскриптами.
Особенности:
Как видите, с запуском скриптов у IE дела обстоят паршиво. Остаётся радоваться, что такая возможность вообще имеется.
Важно: Оба плагина могут существовать в системе одновременно, не мешая друг другу.
Важно: Учитывая вышесказанное, я всегда предлагаю своим пользователям использовать Trixie.
Поддержка в Safari
К сожалению, мне не довелось поработать с данным браузером. Буду рад любым разъяснениям в комментариях!
Поговаривают, что для Safari нужны SIMBL и плагин GreaseKit.
Поддержка в Mobile Safari и прочих браузерах
В виду отсутствия поддержки юзерскриптов в менее популярных браузерах и мобильных браузерах, юзерскрипты придётся предоставлять в виде букмарклета.
Соотстветственно, метаданные в таком случае не нужны, а букмарклет придётся запускать руками после каждого рефреша.
На последок
Если придерживаться концепции одного файла, то процесс созидания идёт по такому пути:
Доброго времени суток всем желающим приобщиться к миру пользовательских скриптов (они же userscript, userJS, юзерскрипты).
В этой статье я хочу поведать о том, что такое юзерскрипты, c чем их едят и, главное, как их готовят!
Внимание: предполагается минимальное знание javascript.
На практике доказано: юзерскрипты может писать человек, не знакомый с программированием, но обладающий усидчивостью и желанием изучить javascript!
О том, что такое javascript и как с ним обращаться, можно узнать на javascript.ru.
Что такое юзерскрипты?
Кратко: юзерскрипт — это программа, написанная на языке JavaScript, хранящаяся на компьютере пользователя и подключаемая браузером на определенных страницах. Юзерскрипт представляет собой файл с расширением .user.js (именно по расширению браузеры понимают, что файл является юзерскриптом), содержащий метаданные и непосредственно javascript-код.
При подключении к странице юзерскрипт выполняется так же, как и обычные javascript-сценарии.
У юзерскрипта есть доступ к DOM-дереву страницы, в контексте которой он выполняется.
В современных браузерах у юзерскрипта есть доступ к localStorage и прочим HTML5 API.
Юзерскрипты поддерживаются всеми основными современными браузерами (и даже кое-как поддерживаются IE7 и выше).
Самый известный портал юзерскриптов — userscripts.org. Тут можно найти хранилище скриптов, инструменты управления своими скриптами на портале и, что не маловажно, отзывчивый форум (всё на английском).
Немного общей теории
Самыми распространенными являются скрипты под расширение GreaseMonkey для браузера Firefox.
Подробную информацию по GreaseMonkey и написанию юзерскриптов под GreaseMonkey можно узнать на http://wiki.greasespot.net.
Так сложилось исторически, что данный браузер был (и остаётся по сей день) первым, в котором поддержка юзерскриптов была выполнена на высоком уровне.
Не все скрипты, написанные для GreaseMonkey, могут запускаться в других браузерах. Причина в криворукости том, что во многих скриптах используется GM API — набор javascript-функций, специфичных для GreaseMonkey.
Однако, проще всего писать юзерскрипты под браузер Google Chrome.
На это есть ряд причин:
Очевидные минусы Google Chrome:
Особенности юзерскриптов
Код юзерскриптов может посмотреть любой желающий, вооруженный блокнотом.
Базовые знания javascript позволяют отсечь угрозу установки шпионских и вредоносных скриптов простым анализом кода скрипта (придётся задействовать мозг).
Важно:Если вы не доверяете автору скрипта, главное удостовериться, что скрипт не отсылает пользовательские данные (куки, вводимый текст) на сторонние сервисы!
Все юзерскрипты запускаются после того, как загрузились все основные элементы страницы, но ещё не загрузились картинки. Можно сказать, что юзерскрипты грузятся по событию DOMContentLoaded.
В любом случае, проверки на window.onload не нужны.
Каждый браузер накладывает свои ограничения на исполнение юзерскриптов, но в целом юзерскрипты могут делать почти всё, что могут скрипты на странице.
Чаще всего юзерскрипты используются для изменения интерфейса страницы или для добавления плюшек, блекджека и шлюх(юзерскрипты для социальных сетей).
Бывают и продвинутые юзерскрипты, которые представляют собой самостоятельные программы (аукционные и игровые боты, плагины-помощники и т.д).
Анатомия юзерскриптов
Юзерскрипт — это текстовый файл с расширением user.js. В начале файла располагается блок метаданных — описание самого скрипта. После блока метаданных следует javascript-код, который и будет исполняться браузером.
Рассмотрим тестовый скрипт, который показывает alert с текстом на определенной странице.
Важно: данный скрипт представляет собой оболочку для кроссбраузерных юзерскриптов. Этот же скрипт, но с английскими комментариями, можно стянуть с pastebin.com и использовать безнаказанно.
В самом начале располагается блок метаданных (в виде комментария).
Этот блок состоит из директив описания юзерскрипта. Ниже в таблице представлены основные директивы и их назначение.
Важно:Все директивы, как и сам блок метаданных, могут отсутствовать.
Директива | Назначение |
---|---|
@ name | Название юзерскрипта. Это название будет отображаться в интерфейсе управления юзерскриптами. Если директива отсутствует, то название юзерскрипта будет таким же, как и название файла. |
@ description | Описание юзерскрипта. Это описание будет отображаться в интерфейсе управления юзерскриптами. |
@ namespace | Пространство имён. Определяет уникальность набора скриптов. Сюда можно вписать имя домена, принадлежащего вам. Или любую другую строку. Считайте, что это второе название скрипта. Обязательная директива для Trixie! |
@ author | Имя автора. |
@ license | Название лицензии, по которой распространяется юзерскрипт. |
@ version | Номер версии юзерскрипта. К сожалению, механизма автообновления нету ни в одном браузере, поэтому номер версии — это просто цифры, которые отображаются в интерфейсе. |
@ include | Директива описания url страницы, на которой нужно запускать юзерскрипт. Поддерживает вайлдкард *(применимо в GreaseMoneky, Opera, IE). Для каждого отдельного url нужно использовать отдельную директиву @ include. |
@ exclude | Директива описания url страницы, на которой не нужно запускать юзерскрипт. Поддерживает вайлдкард *(применимо в GreaseMonkey, Opera, IE). Для каждого отдельного url нужно использовать отдельную директиву @ exclude. |
@ match | Аналогично @ include, но с более жесткими ограничениями (применимо в GreaseMonkey старше 0.9.8, Google Chrome). Подробнее об ограничениях и формате директивы можно прочитать на этой странице. Для каждого отдельного url нужно использовать отдельную директиву @ match. |
Важно: При отсутствии директив @ include или @ match, юзерскрипты будут запускаться на всех страницах.
В нашем юзерскрипте использован ряд хитростей:
Результат
Наш юзерскрипт готов к использованию!
Нет, серьёзно, вы можете скопировать код юзерскрипта в файл, назвать его my.user.js, и закинуть полученный файл в браузер (используйте Chrome или Firefox с установленным GreaseMonkey).
Конечно, наш юзерскрипт не обладает серьезными функциями, код выглядит страшным и малопривлекательным (для непосвященного человека). Но в итоге мы получили заготовку для кроссбраузерных юзерскриптов.
Это значит, что юзерскрипт можно запустить практически в любом современном браузере!
И это замечательно!