Документация API пользовательского скрипта Tampermonkey Oil Monkey

JavaScript

Официальный адрес документа:woohoo.tamper monkey.net/document ATI…

Общий регламент GDPR по защите данных (GDPR)

Заголовок пользовательского скрипта

@name

имя сценария

@namesapce

пространство имен сценария

@include

Установите, на каких страницах может запускаться скрипт, что позволяет устанавливать несколько тегов.@includeХэш-параметры URL не поддерживаются.

// @include http://123.com/*
// @include https://123.com/*
// @include https://*

@match

а также@includeЯрлыки похожи, что позволяет использовать несколько настроек.

// @match http*://

@exclude

Исключенные URL-адреса, не запускайте скрипты на этих страницах, даже если адрес включен в@includeили@matchвнутри этикетки. Допускается несколько настроек.

@require

Представляет файл JavaScript, который необходимо загрузить и запустить перед запуском скрипта. Допускается несколько настроек. Примечание: если загруженный скрипт используетuse strictрежим, пользовательские скрипты также могут быть затронуты строгим режимом

// @require https://code.jquery.com/jquery-2.1.4.min.js
// @require https://code.jquery.com/jquery-2.1.3.min.js#sha256=23456...
// @require https://code.jquery.com/jquery-2.1.2.min.js#md5=34567...,sha256=6789..

@resource

Определите некоторые файлы ресурсов, которые необходимо предварительно загрузить, эти ресурсы можно передать в сценарии.GM_getResourceURL,GM_getResourceTextдоступ. Допускается несколько настроек.

// @resource icon2 /images/icon.png
// @resource html http://www.tampermonkey.net/index.html
// @resource xml http://www.tampermonkey.net/crx/tampermonkey.xml
// @resource SRIsecured1 http://www.tampermonkey.net/favicon.ico#md5=123434...

@connect

разрешитьGM_xmlhttpRequestИмя домена (включая субдомены), доступ к которому осуществляется через соединение.

// @connect *
// @connect *://*.qidian.com/

@connectМетки позволяют устанавливать значения:

  • доменное имя, напримерtampermonkey.net, После настройки всем поддоменам под доменным именем разрешен доступ
  • Поддомен, такой какsafari.tampermonkey.net
  • selfТекущий скрипт работает с доменным именем
  • localhost
  • 1.2.3.4IP-адреса, разрешенные для подключения
  • *Все домены

@run-at

Устанавливает время для внедрения скрипта.@run-at defines the first possible moment a script wants to run.

  • @run-at document-start The script will be injected as fast as possible.
  • @run-at document-body The script will be injected if the body element exists.
  • @run-at document-end The script will be injected when or after the DOMContentLoaded event was dispatched.
  • @run-at document-idle The script will be injected after the DOMContentLoaded event was dispatched. This is the default value if no @run-at tag is given.
  • @run-at content-menu The script will be injected if it is clicked at the browser context menu (desktop Chrome-based browsers only).

@grant

@grantМетки используются для установкиGM_*метод,unsafeWindowобъект,windowБелый список методов объекта. Если тег @grant не указан, TM угадывает, что нужно сценариям.

// @grant GM_setValue
// @grant GM_getValue
// @grant GM_setClipboard
// @grant unsafeWindow
// @grant window.close
// @grant window.focus

API

unsafeWindow

пройти черезunsafeWindowJS-методы и переменные страницы доступа к объектам

Subresource Integrity

@require``@resourceТег задает хэш-часть URL

// @require https://code.jquery.com/jquery-2.1.1.min.js#md5=45eef...
// @require https://code.jquery.com/jquery-2.1.2.min.js#md5=ac56d...,sha256=6e789.

GM_addStyle(css)

Adds the given style to the document and returns the injected style element.

GM_deleteValue(name)

Deletes 'name' from storage.

GM_listValues()

List all names of the storage.

GM_addValueChangeListener(name, function(name, old_value, new_value, remote) {})

Добавьте прослушиватель к переменной, хранящейся в хранилище, и верните идентификатор прослушивателя.nameПараметр - это имя переменной для прослушивания

GM_removeValueChangeListener(listener_id)

удалить слушателя

GM_setValue(name, value)

Set the value of 'name' to the storage.

GM_getValue(name, defaultValue)

Получить значение «имя» из хранилища

GM_log(message)

журнал вывода консоли

GM_getResourceText(name)

Получите это в голове скрипта с помощью@resourceЯрлыки с предопределенным содержимым

GM_getResourceURL(name)

Получите это в голове скрипта с помощью@resourceПометить предопределенный URI в кодировке base64

GM_registerMenuCommand(name, fn, accessKey)

Зарегистрируйте новое меню в меню Tampermonkey на странице запуска скрипта и верните идентификатор команды меню.

GM_unregisterMenuCommand(menuCmdId)

Для отменыGM_registerMenuCommandзарегистрированное меню

GM_openInTab(url, options), GM_openInTab(url, loadInBackground)

Откройте URL-адрес в новой вкладке.optionsДополнительные значения:

  • activeОпределяет, находится ли фокус на странице новой вкладки
  • insert
  • setParent

GM_xmlhttpRequest(details)

Make an xmlHttpRequest.

GM_download(details), GM_download(url, name)

Загрузить указанный ресурс URL на локальный диск

detailsМожет иметь следующие свойства:

  • url- URL-адрес загрузки (обязательно)
  • name- Имя файла. Из соображений безопасности вам необходимо внести расширение файла в белый список на странице конфигурации Tampermonkey (for security reasons the file extension needs to be whitelisted at Tampermonkey's options page) (требуется)
  • headers- видетьGM_xmlhttpRequest
  • saveAs - boolean, появится всплывающее окно «Сохранить как».
  • onerror- Загрузка неудачного обратного вызова
  • onload- Скачать полный обратный вызов
  • onprogressОбратный вызов при изменении хода загрузки
  • ontimeoutОбратный вызов, когда загрузка не удалась из-за тайм-аута

onerrorПараметры функции обратного вызова:

  • error- Причина отказа
    • not_enabled- Пользователь не может использовать функцию загрузки
    • not_whitelisted- Суффикс файла загрузки отсутствует в белом списке
    • not_permitted - the user enabled the download feature, but did not give the downloads permission
    • not_supported - the download feature isn't supported by the browser/version
    • not_succeeded - the download wasn't started or failed, the details attribute may provide more information
  • detailsПодробности об ошибке

Настройки белого списка расширений загрузки следующие:

下载扩展白名单

Chrome может использовать функцию GM_download Tampermonkey для обхода ограничений CSP (Content Security Policy).

GM_getTab(callback)

Get a object that is persistent as long as this tab is open.

GM_saveTab(tab)

Save the tab object to reopen it after a page unload.

GM_getTabs(callback)

Get all tab objects as a hash to communicate with other script instances.

GM_notification(details, ondone) GM_notification(text, title, image, onlick)

Показать уведомление на рабочем столе H5 и/или выделить текущую вкладку

detailsИмеет следующие особенности:

  • text- текст уведомления (обязательноhighlightУстановить какfalse)
  • title- заголовок уведомления
  • image- картина
  • highlight - booleanПодсвечивать ли вкладки, отправляющие уведомления (не установленоtextВремя)
  • silent - booleanВоспроизводить ли звуковой сигнал
  • timeout - timeoutУведомления будут скрыты по истечении установленного времени (0 = отключено)
  • ondone- вызывается, когда уведомление было отклонено (независимо от того, было ли это вызвано тайм-аутом или кликом) или вкладка была выделена
  • onclick- Вызывается, когда пользователь нажимает на уведомление

GM_setClipborad(data, info)

Скопируйте содержимое в буфер обмена. Параметр «информация» может быть объектом типа «{ type: 'text', mimetype: 'text/plain'}» или просто строкой, выражающей тип («text» или «html»)

GM_info

Получить некоторую информацию о сценариях и GM