Saltar al contenido principal

Bloque de Metadatos

El contenido dentro de ==UserScript== describe los permisos que necesita un script, información sobre el script, etc. Se encuentra al principio del script.

// ==UserScript==
// @name Nuevo Userscript
// @namespace https://bbs.tampermonkey.net.cn/
// @version 0.1.0
// @description ¡intentar conquistar el mundo!
// @author You
// @crontab * * once * *
// ==/UserScript==

Valores Principales​

name​

Nombre del script

namespace​

Espacio de nombres del script. name + namespace determina la unicidad del script.

version​

La versión del script. Se recomienda seguir el versionado semántico, para que cuando se detecte un cambio de versión, se solicite al usuario actualizar.

description​

Una descripción detallada del script

author​

Autor del script

run-at​

Cuándo se ejecuta el script

ValorEjecuciónSoportado desde
document-startInyecta el script en la página tan pronto como la URL coincide en el frontendv0.3.0
document-endInyecta el script después de que el DOM se haya cargado; los scripts e imágenes de la página aún pueden estar cargandov0.3.0
document-idleInyecta el script después de que todos los contenidos se hayan cargadov0.3.0
document-bodyEl script solo se inyecta una vez que la página tiene un elemento bodyv0.6.2
document-menuMuestra un menú al hacer clic derecho; ejecuta el script usando el nombre del script como nombre del menúv0.3.4-v0.9.4 (🔥 eliminado)

Para iconos de menú, puede consultar Símbolos Unicode y emoji.

run-in​

Especifica el entorno en el que se inyecta el script: @run-in normal-tabs para pestañas normales, @run-in incognito-tabs para pestañas incógnito.

early-start (v1.1.0+)​

Cuando run-at es document-start, el script se ejecuta lo antes posible, pero no se puede garantizar que se cargue más rápido que la página.

Una vez que haya definido @run-at document-start, puede agregar @early-start para que el script se cargue más rápido que la página: ejemplo

inject-into​

tip

En el entorno de content-script (content), unsafeWindow solo apunta al propio window actual del entorno y no puede acceder al window de la página.

ScriptCat no soporta la verificación automática de restricciones CSP para decidir si inyectar como content o page (es decir, @inject-into auto de Tampermonkey).

Especifica dónde se inyecta el script, soportando page y content, con page como predeterminado.

  • page: el script se inyecta en el entorno de la página, y puede usar unsafeWindow para acceder al window y DOM de la página
  • content: el script se inyecta en el entorno de content-script, no puede acceder directamente al objeto window de la página, pero puede acceder al DOM de la página y no está sujeto a CSP

storageName 🧪​

El espacio de almacenamiento para Value; los datos bajo el mismo storageName pueden ser compartidos y comunicados entre scripts. Específico de ScriptCat.

background​

Marca este script como un script de fondo, que necesita ejecutarse en el entorno de fondo. Ver Script de Fondo para detalles.

crontab​

Marca el script como un script programado, que requiere un valor de expresión cron. Solo puede existir una expresión cron, y se ejecuta según ese horario en el entorno de fondo. Ver Script Programado para detalles.

match​

Solo las URLs que coincidan con match ejecutarán el script, siguiendo Patrones de Coincidencia. En match, * es un comodín, tld coincide con el dominio de nivel superior, y un dominio que comienza con *. también coincidirá con xxx.com:

ValorEjemplos correctosEjemplos incorrectos
http://scriptcat.org/doc/matchhttp://scriptcat.org/doc/matchhttp://scriptcat.org/doc/runAt
*://*/param?*https://scriptcat.org/param | http://scriptcat.org/param?search=tampermonkeyhttps://scriptcat.org/test/param
http*://scriptcat.org/*https://scriptcat.org/ | https://scriptcat.org/dochttps://doc.scriptcat.org/

include​

Soporta * para coincidencia difusa, permitiendo URLs no estándar

exclude​

URLs que no deben coincidir; usa la misma sintaxis de expresión que include

grant​

Solicita permiso de API — una API solo puede llamarse una vez que se ha solicitado. Ver la lista de permisos en: Documentación de API y Documentación de CAT API.

Dos valores especiales:

  • none: el script no se ejecuta en el entorno de sandbox, sino directamente en el entorno de la página. En este entorno, no hay APIs GM disponibles, pero se puede acceder directamente al objeto window de la página.
  • unsafeWindow: en el entorno de sandbox, si necesita acceder al objeto window de la página, use unsafeWindow. (Tampermonkey no requiere declarar esto — se mantiene solo por compatibilidad.)

connect​

Solicita permiso de acceso para un sitio; ver GM_cookie y GM_xmlhttpRequest. GM_download en modo native también reconoce @connect (los hosts no declarados activan una confirmación).

resource​

Incluye un archivo de recurso. Después de declarar @resource, puede usar GM_getResourceText/GM_getResourceURL para obtener la información.

// @resource icon https://bbs.tampermonkey.net.cn/favicon.ico
// @resource html https://bbs.tampermonkey.net.cn/
// @resource xml https://bbs.tampermonkey.net.cn/sitemap.xml
// Agregar verificación de integridad del recurso
// @resource icon https://bbs.tampermonkey.net.cn/favicon.ico#md5-xxx,sha256-xxx

require​

Incluye un archivo JS externo; soporta verificación de integridad del recurso

require-css​

Incluye un archivo CSS externo; soporta verificación de integridad del recurso

noframes​

Marca el script para que no se ejecute dentro de un <frame>

definition​

La dirección de referencia de un archivo .d.ts, habilitando pistas de autocompletado del editor

antifeature​

Esto está relacionado con el marketplace de scripts; las funciones no deseadas necesitan ser marcadas con este valor de descripción:

// @antifeature ads Este script tiene anuncios
// @antifeature referral-link Este script modifica o redirige al enlace de referido del autor

Valores de Descripción Adicionales​

license​

La licencia de código abierto del script actual

updateURL​

La verificación de actualizaciones requiere que el script remoto tenga una etiqueta @version.

El enlace que usa el script para verificar actualizaciones; si no está configurado, por defecto es user.js => meta.js del enlace, o el enlace actual si no hay user.js.

Si se configura @updateURL, también se debe configurar @downloadURL para que @updateURL funcione.

downloadURL​

La dirección de descarga para la actualización del script

supportURL​

Sitio de soporte, página de reporte de errores

homepage, homepageURL, website​

Página principal del script

source​

Página del código fuente del script

icon, iconURL, defaulticon​

Icono del script

icon64, icon64URL​

Icono del script de 64x64

Notas​

Verificación de Integridad del Recurso​

  • Use md5, sha1, sha256, sha384 o sha512 para verificar que los recursos no han sido manipulados. Múltiples métodos de verificación pueden separarse con ; o ,.
  • Según las recomendaciones del W3C, md5 y sha1 no son recomendados; use sha384 o un algoritmo de hash más fuerte.

Ejemplo:

// @require https://cdn.jsdelivr.net/npm/[email protected]/lib/darkmode-js.min.js#md5-d55836f30c097da753179f82fa6f108f,sha256-a476ab8560837a51938aa6e1720c8be87c2862b6221690e9de7ffac113811a90