Documentación de Tampermonkey

Tampermonkey Documentation

@doc https://www.tampermonkey.net/documentation.php

Tabla de contenido

@nombre

@name el nombre del script



@ espacio de nombres

@namespace El espacio de nombres del script



@versión

La versión de la secuencia de comandos utilizada para buscar actualizaciones.



@autor

El autor del guion

@descripción

Breve descripción importante

@homepage, @homepageURL, @website y @source

La página de inicio del autor en la página 'Opciones' utilizada para vincular desde el nombre del script a una página determinada. Tenga en cuenta que si la etiqueta @namespace comienza con 'http: //', su contenido también se utilizará para esta operación.



@icon, @iconURL y @defaulticon

Los guiones con puntuaciones bajas se mostrarán en la lista de administración de guiones.

@ icon64 y @ icon64URL

Icono de secuencia de comandos 64 * 64 Si se proporciona esta etiqueta, pero se proporciona un icono, la imagen del icono se ampliará en algunos lugares de la página de opciones

@updateURL

Actualice la dirección del script. Nota: solo se actualizará la etiqueta @version

@downloadURL

Defina la URL desde la que se descargará el script cuando se detecte una actualización. Si el valor es ninguno, no se realizará ninguna comprobación de actualización.

@supportURL

Definir direcciones para problemas de informes de usuarios y asistencia personal

@incluir

La página donde debe ejecutarse la secuencia de comandos puede utilizar coincidencias regulares. Permitir varias etiquetas
Tenga en cuenta que @include no admite el parámetro de hash de la URL, puede visitar aquí para obtener más información Haga clic para obtener más información

|_+_|

@partido

El mismo significado que la etiqueta @include, puede hacer clic aquí para obtener más información
Nota: La instrucción '' aún no se admite y 'http *: //' también se acepta en la parte del esquema.
Permitir múltiples instancias de etiquetas.

@excluir

Excluya las URL, incluso si están incluidas en @include o @match. Permitir varias etiquetas

@exigir

Señale un archivo de secuencia de comandos que se cargará y ejecutará antes de que se ejecute la secuencia de comandos
Nota: ¡El script cargado a través de @require y su declaración de 'uso estricto' pueden afectar el modo estricto del script de usuario!

|_+_|

Para obtener detalles sobre cómo garantizar la integridad, consulte la sección de integridad de los sub-recursos. Permitir múltiples instancias de etiquetas.

@recurso

La precarga se puede pasar a través del script // @include http://www.tampermonkey.net/* // @include http://* // @include https://* // @include * con // @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... Recursos visitados

|_+_|

@conectar

Esta etiqueta define el dominio (sin dominio de nivel superior), incluido GM_getresourceurl Subdominio recuperado
// @conectar
pueden ser los siguientes valores

  • El dominio puede ser: GM_getresourcetext (Se pueden permitir subdominios)
  • Subdominios como: // @resource icon1 http://www.tampermonkey.net/favicon.ico // @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... // @resource SRIsecured2 http://www.tampermonkey.net/favicon.ico#md5=123434...sha256=234234...
  • GM_xmlhttpRequest : Muestra el dominio donde se está ejecutando el script actualmente
  • tampermokey.net Tener permiso para acceder a localhost
  • safari.tampermokey.net Enlace a la dirección IP
  • |_+_|

@correr a

Defina el momento en que se inyecta el guión. A diferencia de otros procesos de script, @ run-at define el primer tiempo posible para que se ejecute el script.

Esto significa que los scripts marcados con @require pueden ejecutarse después de que se haya cargado el documento, porque se necesita mucho tiempo para obtener los scripts necesarios. En cualquier caso, todos los eventos domnodeinserted y domcontentloaded que ocurran después de un tiempo de inyección determinado se almacenarán en caché y se pasarán al script durante la inyección.

|_+_|

@conceder

@grant se utiliza para establecer la lista blanca de funciones GM_ *. La función GM_ * son algunos objetos de ventana inseguros y algunas funciones de ventana influyentes. Si no hay una etiqueta @grant, TM adivinará lo que necesita el script

|_+_|

@noframes

Esta etiqueta indica que el script se ejecuta en la página principal, no en iframes.

@desenvolver

Esta etiqueta se ignora porque no la necesita en Google Chrome.

@nocompat

En la actualidad, tm intenta detectar si la secuencia de comandos está escrita en el conocimiento de google chrome / chromium buscando la etiqueta @match, pero no todas las secuencias de comandos la usan. Es por eso que tm admite esta etiqueta para deshabilitar todas las optimizaciones necesarias para ejecutar scripts escritos para firefox / greasemonkey. Para mantener esta etiqueta extensible, puede agregar un nombre de navegador que el script pueda procesar.

Interfaz de programación de aplicaciones (API avanzada)

unsafeWindow

El objeto unsafeWindow proporciona acceso a las funciones y variables js de la página

Integridad de los subrecursos

Puede utilizar el componente hash de la URL marcada con @resource y @require para este propósito.

|_+_|

TM native admite hash MD5 como respaldo, todos los demás (SHA-1, SHA-256, SHA-384 y SHA-512) dependen de window.crypto. Si se proporcionan varios hash (separados por comas o punto y coma), TM utilizará el último hash admitido actualmente. Si el contenido del recurso externo no coincide con el hash seleccionado, el recurso no se pasará al script del usuario. Todos los hash deben codificarse en formato hexadecimal o base64.

GM_addStyle (css)

Agregue estilo al documento y devuelva el nodo inyectado

GM_deleteValue (nombre)

Eliminar 'nombre' del almacenamiento

GM_listValues ​​()

Lista de todos los nombres almacenados

GM_addValueChangeListener (nombre, función (nombre, valor_antiguo, valor_nuevo, remoto) {})

Agregue un oyente de eventos de cambio en el almacenamiento y devuelva el ID del oyente

'Nombre' es la variable observada

La variable 'remota' de la función de devolución de llamada muestra si este valor se modificó desde otra instancia de pestaña (verdadero) o en esta instancia de script (falso).

Por lo tanto, los scripts de diferentes pestañas del navegador pueden usar esta función para comunicarse entre sí.

Puede utilizar esta API para comunicarse con pestañas de diferentes navegadores

GM_removeValueChangeListener (listener_id)

Eliminar un evento de cambio de oyente por el ID de oyente

GM_setValue (nombre, valor)

Establecer el valor de 'nombre' en almacenamiento

GM_getValue (nombre, valor predeterminado)

Obtenga el valor de 'nombre' del almacenamiento

GM_log (mensaje)

Imprimir registro en la consola

GM_getResourceText (nombre)

Obtenga el contenido de la etiqueta @resource reservada en la parte superior del script

GM_getResourceURL (nombre)

Obtenga el encodeURI base64 de la etiqueta @resource definida en la parte superior del script

GM_registerMenuCommand (nombre, fn, clave de acceso)

Registre un comando de menú que pueda mostrar TM en la página, cuando se ejecute este script, y devuelva el comando de menú id

Significa que puede registrar un ming que muestra directamente el menú de TM

GM_unregisterMenuCommand (menuCmdId)

Anular el registro de un comando de menú basado en el ID del comando de menú (proporcionado a través de GM_registerMenuCommand)

GM_openInTab (url, opciones), GM_openInTab (url, loadInBackground)

Use la URL del parámetro para abrir una nueva pestaña, las opciones pueden ser los siguientes valores

  • activo determina si la nueva pestaña está enfocada, y enfocado significa que se muestra directamente
  • insertar Insertar una nueva pestaña después de la pestaña actual
  • setParent reenfoca la pestaña actual después de cerrar la pestaña

Además, se agregarán nuevas pestañas. loadinbackground tiene el significado opuesto a activo y se agregó para lograr la compatibilidad con Greasemonkey 3.x. Si no se especifica 'Actividad' o 'Cargar fondo', la pestaña no se enfocará. Esta función devuelve un objeto con la función cerrar, el oyente encerrado y un indicador llamado cerrado.

GM_xmlhttpRequest (detalles)

Cree una xmlHttpRequest.
Los atributos de los detalles de los parámetros son:

  • El método puede ser GET, HEAD, POST
  • url url solicitada
  • encabezados como: user-agent, referer,… (algunos encabezados especiales no son compatibles con los navegadores Safari y Android)
  • datos Algunas cadenas tienen solicitudes de publicación enviadas en el pasado
  • binario dicho modo binario, escriba enviar datos
  • timeout timeout
  • el contexto se agrega al objeto en el objeto de respuesta
  • responseType puede ser arraybuffer, blob, json
  • overrideMimeType El tipo de MIME solicitado
  • anónimo no necesita enviar cookies en la solicitud, consulte el comentario de recuperación para obtener más detalles
  • fetch (beta) usa un fetch para reemplazar la solicitud xhr. En Chrome, esto hará que xhr.abort, details.timeout y xhr.onprogress no funcionen, y hará que xhr.onreadystatechange reciba solo eventos readystate 4
  • nombre de usuario nombre de usuario autorizado
  • contraseña usuario autorizado contraseña
  • onabort La función de devolución de llamada que se ejecuta cuando se interrumpe la solicitud
  • La función de devolución de llamada que debe ejecutarse cuando la solicitud de onerror termina con un error
  • onloadstart La función de devolución de llamada que se ejecuta cuando la solicitud comienza a cargarse
  • onprogress La función de devolución de llamada que se ejecuta cuando cambia el estado de la solicitud
  • onreadystatechange El cambio de estado listo solicitado es la función de devolución de llamada que se ejecuta
  • función de devolución de llamada ontimeout ejecutada después del tiempo de espera
  • onload La función de devolución de llamada que se ejecuta cuando se devuelve la solicitud. Sus varios parámetros son los siguientes:
    • finalUrl: la URL final después de todos los redireccionamientos desde donde se cargaron los datos
    • readyState - el estado listo
    • status - el estado de la solicitud
    • statusText: el texto de estado de la solicitud
    • responseHeaders: los encabezados de respuesta de la solicitud
    • respuesta: los datos de respuesta como objeto si se estableció details.responseType
    • responseXML: los datos de respuesta como documento XML
    • responseText: los datos de respuesta como una cadena simple

El objeto devuelto contiene las siguientes propiedades:

  • abort-función para cancelar la solicitud
    Nota: el atributo síncrono no es compatible

Importante: Si desea utilizar este método, vaya a la etiqueta @connectb para obtener más información.

GM_download (detalles), GM_download (url, nombre)

Utilice el recurso de descarga en el disco local

Los atributos de los detalles:

  • url-la URL del recurso
  • nombre-nombre del archivo, por razones de seguridad, la extensión del archivo debe estar en la lista blanca en la página de parámetros de TM
  • encabezados de solicitud de conjunto de encabezados como GM_xmlhttpRequest
  • saveAs-boolean value, muestra una ventana emergente guardada
  • onerror descarga la función de devolución de llamada que terminó con falla
  • función de devolución de llamada ejecutada después de que se completa la carga
  • Función de devolución de llamada en progreso que cambia durante la descarga
  • función de devolución de llamada de ejecución de tiempo de espera de descarga de ontimeout
    Ahora los parámetros de un error en el archivo son los siguientes:
  • error-causa del error
    • not_enabled: el usuario no ha habilitado la función de descarga
    • not_whitelisted: el tipo de archivo descargado no está en la lista blanca
    • not_permitted-user ha abierto el permiso de descarga, pero no el permiso de descarga
    • not_supported: el atributo de descarga no es compatible debido al navegador o la versión
    • not_succeeded: la descarga no se inició o falló. los detalles pueden proporcionar más información
  • detalles-detalles del error

Devuelve un objeto que contiene las siguientes propiedades

  • abort-función para cancelar la descarga
    Según el modo de descarga, gm_u info proporciona un atributo denominado modo de descarga, que se establece en uno de los siguientes valores: nativo, deshabilitado o navegador.

GM_getTab (devolución de llamada)

Obtenga un objeto persistente siempre que la pestaña esté abierta.

GM_saveTab (pestaña)

Guarde el objeto de pestaña para volver a abrir, después de cerrar la página

GM_getTabs (devolución de llamada)

Obtenga todos los objetos de pestaña como un hash para comunicarse con otras instancias de script.

GM_notification (detalles, ondone), GM_notification (texto, título, imagen, onclick)

Muestre una notificación de escritorio H5 o resalte la pestaña actual
atributos de detalles:

  • texto-el problema con la notificación
  • title-el título de la notificación
  • imagen-imagen
  • resaltar un logotipo booleano, si resaltar la pestaña
  • silencioso-si un booleano toca música
  • tiempo de espera para la visualización de notificaciones 0 significa mostrar siempre
  • ondone: la función que se ejecuta cuando se cierra la notificación, ya sea que se haga clic en ella o que se agote el tiempo de espera
  • función onclick activada por notificación de clic

La función de todos los parámetros es exactamente la misma que su propiedad de información detallada correspondiente.

GM_setClipboard (datos, información)

Copie los datos en la mesa de trabajo, la información del parámetro puede ser un objeto como {tipo: 'texto', tipo mime: 'texto / plano'}, o una cadena de texto, html

GM_info

Obtenga información sobre el script y la MT, la estructura de datos es la siguiente

tampermonkey admite esta forma de almacenar metadatos. TM intenta detectar automáticamente si el script necesita habilitar esta opción de compatibilidad.