Zum Hauptinhalt springen

Metadaten-Block

Der Inhalt innerhalb von ==UserScript== beschreibt die Berechtigungen, die ein Skript benötigt, Informationen über das Skript usw. Er befindet sich ganz am Anfang des Skripts.

// ==UserScript==
// @name Neues Userskript
// @namespace https://bbs.tampermonkey.net.cn/
// @version 0.1.0
// @description try to take over the world!
// @author You
// @crontab * * once * *
// ==/UserScript==

Hauptwerte​

name​

Skriptname

namespace​

Skript-Namensraum. name + namespace bestimmt die Einzigartigkeit des Skripts.

version​

Die Version des Skripts. Es wird empfohlen, der semantischen Versionierung zu folgen, damit bei einer Versionsänderung der Benutzer zum Aktualisieren aufgefordert wird.

description​

Eine ausführliche Beschreibung des Skripts

author​

Skript-Autor

run-at​

Wann das Skript ausgeführt wird

WertAusführungUnterstützt seit
document-startInjiziert das Skript in die Seite, sobald das URL im Frontend übereinstimmtv0.3.0
document-endInjiziert das Skript, nachdem das DOM geladen wurde; Seiten-Skripte und Bilder werden möglicherweise noch geladenv0.3.0
document-idleInjiziert das Skript, nachdem alle Inhalte geladen wurdenv0.3.0
document-bodyDas Skript wird nur injiziert, wenn die Seite ein body-Element hatv0.6.2
document-menuZeigt ein Menü bei Rechtsklick; der Skriptname wird als Menüname verwendetv0.3.4-v0.9.4 (🔥 entfernt)

Für Menü-Symbole können Sie Unicode-Symbole und Emoji verwenden.

run-in​

Gibt die Umgebung an, in die das Skript injiziert wird: @run-in normal-tabs für normale Tabs, @run-in incognito-tabs für Inkognito-Tabs.

early-start (v1.1.0+)​

Wenn run-at document-start ist, wird das Skript so früh wie möglich ausgeführt, aber es kann nicht garantiert werden, dass es schneller als die Seite geladen wird.

Nach der Definition von @run-at document-start können Sie @early-start hinzufügen, um das Skript schneller als die Seite zu laden: Beispiel

inject-into​

tipp

In der Content-Script-Umgebung (content) zeigt unsafeWindow nur auf das eigene aktuelle window der Umgebung und kann nicht auf das window der Seite zugreifen.

ScriptCat unterstützt nicht das automatische Prüfen von CSP-Einschränkungen, um zu entscheiden, ob als content oder page injiziert wird (d.h. Tampermonkeys @inject-into auto).

Gibt an, wohin das Skript injiziert wird; unterstützt page und content, Standard ist page.

  • page: Das Skript wird in die Seiten-Umgebung injiziert und kann über unsafeWindow auf das window und DOM der Seite zugreifen
  • content: Das Skript wird in die Content-Script-Umgebung injiziert, kann nicht direkt auf das window-Objekt der Seite zugreifen, hat aber Zugriff auf das Seiten-DOM und unterliegt keinem CSP

storageName 🧪​

Der Speicherplatz für Value; Daten unter demselben storageName können zwischen Skripten geteilt und kommuniziert werden. ScriptCat-spezifisch.

background​

Markiert dieses Skript als Hintergrundskript, das in der Hintergrundumgebung laufen muss. Siehe Hintergrundskript für Details.

crontab​

Markiert das Skript als geplantes Skript, das einen Cron-Ausdruckswert erfordert. Es kann nur einen Cron-Ausdruck geben, und er läuft nach diesem Zeitplan in der Hintergrundumgebung. Siehe Geplantes Skript für Details.

match​

Nur URLs, die mit match übereinstimmen, führen das Skript aus, gemäß Match-Patterns. In match ist * ein Platzhalter, tld passt auf die Top-Level-Domain, und eine Domain die mit *. beginnt, passt auch auf xxx.com:

WertRichtige BeispieleFalsche Beispiele
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​

Unterstützt * für unscharfe Übereinstimmung, erlaubt nicht-standardmäßige URLs

exclude​

URLs, die nicht übereinstimmen sollten; verwendet dieselbe Ausdruckssyntax wie include

grant​

API-Berechtigung anfordern — eine API kann nur aufgerufen werden, wenn sie angefordert wurde. Siehe Berechtigungsliste unter: API-Dokumentation und CAT API-Dokumentation.

Zwei spezielle Werte:

  • none: Das Skript läuft nicht in der Sandbox-Umgebung, sondern direkt in der Seiten-Umgebung. In dieser Umgebung sind keine GM APIs verfügbar, aber das window-Objekt der Seite kann direkt accessed werden.
  • unsafeWindow: In der Sandbox-Umgebung, wenn Sie auf das window-Objekt der Seite zugreifen müssen, verwenden Sie unsafeWindow. (Tampermonkey erfordert dies nicht — es bleibt nur zur Kompatibilität.)

connect​

Zugriffsberechtigung für eine Website anfordren; siehe GM_cookie und GM_xmlhttpRequest. GM_download im native-Modus erkennt auch @connect (nicht deklarierte Hosts lösen eine Bestätigungsabfrage aus).

resource​

Enthält eine Ressourcendatei. Nach der Deklaration von @resource können Sie GM_getResourceText/GM_getResourceURL verwenden, um die Informationen abzurufen.

// @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
// Ressourcen-Integritätsprüfung hinzufügen
// @resource icon https://bbs.tampermonkey.net.cn/favicon.ico#md5-xxx,sha256-xxx

require​

Enthält eine externe JS-Datei; unterstützt Ressourcen-Integritätsprüfung

require-css​

Enthält eine externe CSS-Datei; unterstützt Ressourcen-Integritätsprüfung

noframes​

Markiert das Skript so, dass es nicht innerhalb eines <frame> läuft

definition​

Die Referenzadresse einer .d.ts-Datei, die Editor-Autovervollständigungshinweise aktiviert

antifeature​

Dies bezieht sich auf den Skript-Marktplatz; unerwünschte Funktionen müssen mit diesem Beschreibungswert markiert werden:

// @antifeature ads Dieses Skript enthält Werbung
// @antifeature referral-link Dieses Skript ändert oder leitet auf den Empfehlungslink des Autors um

Zusätzliche Beschreibungswerte​

license​

Die Open-Source-Lizenz des aktuellen Skripts

updateURL​

Für die Aktualisierungsprüfung muss das remote Skript ein @version-Tag haben.

Der Link, den das Skript zur Aktualisierungsprüfung verwendet; wenn nicht gesetzt, standardmäßig der user.js => meta.js des Links, oder der aktuelle Link ohne user.js.

Wenn @updateURL konfiguriert ist, muss auch @downloadURL konfiguriert werden.

downloadURL​

Die Download-Adresse für die Skriptaktualisierung

supportURL​

Support-Website, Fehlerberichtsseite

homepage, homepageURL, website​

Skript-Homepage

source​

Skript-Quellcode-Seite

icon, iconURL, defaulticon​

Skript-Symbol

icon64, icon64URL​

64x64-Skript-Symbol

Hinweise​

Ressourcen-Integritätsprüfung​

  • Verwenden Sie md5, sha1, sha256, sha384 oder sha512, um Ressourcen gegen Manipulation zu prüfen. Mehrere Prüfverfahren können mit ; oder , getrennt werden.
  • Gemäß W3C-Empfehlungen werden md5 und sha1 nicht empfohlen; verwenden Sie sha384 oder einen stärkeren Hash-Algorithmus.

Beispiel:

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