Passa al contenuto principale

Blocco Metadati

Il contenuto all'interno di ==UserScript== descrive i permessi di cui uno script ha bisogno, informazioni sullo script, ecc. Si trova all'inizio dello script.

// ==UserScript==
// @name Nuovo Userscript
// @namespace https://bbs.tampermonkey.net.cn/
// @version 0.1.0
// @description provare a conquistare il mondo!
// @author You
// @crontab * * once * *
// ==/UserScript==

Valori Principali​

name​

Nome dello script

namespace​

Namespace dello script. name + namespace determina l'unicità dello script.

version​

La versione dello script. Si consiglia di seguire il versionamento semantico, in modo che quando viene rilevato un cambio di versione, venga richiesto all'utente di aggiornare.

description​

Una descrizione dettagliata dello script

author​

Autore dello script

run-at​

Quando lo script viene eseguito

ValoreEsecuzioneSupportato da
document-startInietta lo script nella pagina non appena l'URL corrisponde nel frontendv0.3.0
document-endInietta lo script dopo che il DOM è stato caricato; script e immagini della pagina potrebbero ancora essere in fase di caricamentov0.3.0
document-idleInietta lo script dopo che tutti i contenuti sono stati caricativ0.3.0
document-bodyLo script viene iniettato solo quando la pagina ha un elemento bodyv0.6.2
document-menuMostra un menu al clic destro; esegue lo script usando il nome dello script come nome del menuv0.3.4-v0.9.4 (🔥 rimosso)

Per le icone del menu, puoi consultare Simboli Unicode ed emoji.

run-in​

Specifica l'ambiente in cui viene iniettato lo script: @run-in normal-tabs per le schede normali, @run-in incognito-tabs per le schede in incognito.

early-start (v1.1.0+)​

Quando run-at è document-start, lo script viene eseguito il prima possibile, ma non si può garantire che si carichi più velocemente della pagina.

Una volta definito @run-in document-start, puoi aggiungere @early-start per far caricare lo script più velocemente della pagina: esempio

inject-into​

suggerimento

Nell'ambiente content-script (content), unsafeWindow punta solo al proprio window attuale dell'ambiente e non può accedere al window della pagina.

ScriptCat non supporta il controllo automatico delle restrizioni CSP per decidere se iniettare come content o page (cioè @inject-into auto di Tampermonkey).

Specifica dove viene iniettato lo script, supportando page e content, con page come predefinito.

  • page: lo script viene iniettato nell'ambiente della pagina e può usare unsafeWindow per accedere al window e DOM della pagina
  • content: lo script viene iniettato nell'ambiente content-script, non può accedere direttamente all'oggetto window della pagina, ma può accedere al DOM della pagina e non è soggetto a CSP

storageName 🧪​

Lo spazio di archiviazione per Value; i dati sotto lo stesso storageName possono essere condivisi e comunicati tra script. Specifico di ScriptCat.

background​

Contrassegna questo script come script di background, che deve essere eseguito nell'ambiente di background. Vedi Script di Background per i dettagli.

crontab​

Contrassegna lo script come script pianificato, che richiede un valore di espressione cron. Può esistere solo un'espressione cron e viene eseguita secondo quella pianificazione nell'ambiente di background. Vedi Script Pianificato per i dettagli.

match​

Solo le URL che corrispondono a match eseguiranno lo script, seguendo i Pattern di Corrispondenza. In match, * è un carattere jolly, tld corrisponde al dominio di livello superiore, e un dominio che inizia con *. corrisponderà anche a xxx.com:

ValoreEsempi correttiEsempi errati
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​

Supporta * per la corrispondenza fuzzy, permettendo URL non standard

exclude​

URL che non dovrebbero corrispondere; usa la stessa sintassi di include

grant​

Richiede il permesso API — un'API può essere chiamata solo una volta che è stata richiesta. Vedi la lista dei permessi in: Documentazione API e Documentazione CAT API.

Due valori speciali:

  • none: lo script non viene eseguito nell'ambiente sandbox, ma direttamente nell'ambiente della pagina. In questo ambiente, non sono disponibili le API GM, ma l'oggetto window della pagina può essere accessed direttamente.
  • unsafeWindow: nell'ambiente sandbox, se hai bisogno di accedere all'oggetto window della pagina, usa unsafeWindow. (Tampermonkey non richiede di dichiararlo — è mantenuto solo per compatibilità.)

connect​

Richiede il permesso di accesso per un sito; vedi GM_cookie e GM_xmlhttpRequest. GM_download in modalità native riconosce anche @connect (gli host non dichiarati attivano una conferma).

resource​

Include un file risorsa. Dopo aver dichiarato @resource, puoi usare GM_getResourceText/GM_getResourceURL per recuperare le informazioni.

// @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
// Aggiungere verifica integrità risorsa
// @resource icon https://bbs.tampermonkey.net.cn/favicon.ico#md5-xxx,sha256-xxx

require​

Include un file JS esterno; supporta la verifica integrità risorsa

require-css​

Include un file CSS esterno; supporta la verifica integrità risorsa

noframes​

Contrassegna lo script per non essere eseguito all'interno di un <frame>

definition​

L'indirizzo di riferimento di un file .d.ts, abilitando i suggerimenti di autocompletamento dell'editor

antifeature​

Questo è collegato al marketplace degli script; le funzionalità indesiderate devono essere contrassegnate con questo valore di descrizione:

// @antifeature ads Questo script ha pubblicità
// @antifeature referral-link Questo script modifica o reindirizza al link di riferimento dell'autore

Valori di Descrizione Aggiuntivi​

license​

La licenza open-source dello script attuale

updateURL​

La verifica degli aggiornamenti richiede che lo script remoto abbia un tag @version.

Il link che lo script usa per verificare gli aggiornamenti; se non impostato, per impostazione predefinita è user.js => meta.js del link, o il link attuale se non c'è user.js.

Se @updateURL è configurato, anche @downloadURL deve essere configurato affinché @updateURL funzioni.

downloadURL​

L'indirizzo di download per l'aggiornamento dello script

supportURL​

Sito di supporto, pagina di segnalazione bug

homepage, homepageURL, website​

Homepage dello script

source​

Pagina del codice sorgente dello script

icon, iconURL, defaulticon​

Icona dello script

icon64, icon64URL​

Icona dello script 64x64

Note​

Verifica Integrità Risorsa​

  • Usa md5, sha1, sha256, sha384 o sha512 per verificare che le risorse non siano state manomesse. Più metodi di verifica possono essere separati con ; o ,.
  • Secondo i recomandazioni W3C, md5 e sha1 non sono raccomandati; usa sha384 o un algoritmo hash più forte.

Esempio:

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