<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.cowboy-of-bottrop.de/index.php?action=history&amp;feed=atom&amp;title=CowboysWiki%3ATechnik%2FSkin%2FGadgets</id>
	<title>CowboysWiki:Technik/Skin/Gadgets - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cowboy-of-bottrop.de/index.php?action=history&amp;feed=atom&amp;title=CowboysWiki%3ATechnik%2FSkin%2FGadgets"/>
	<link rel="alternate" type="text/html" href="https://wiki.cowboy-of-bottrop.de/index.php?title=CowboysWiki:Technik/Skin/Gadgets&amp;action=history"/>
	<updated>2026-11-02T15:37:17Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Cowboy’s Wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.cowboy-of-bottrop.de/index.php?title=CowboysWiki:Technik/Skin/Gadgets&amp;diff=5938&amp;oldid=prev</id>
		<title>Cowboy: Die Seite wurde neu angelegt: „{{../../!header |Text=Gadgets (Helferlein)}} &#039;&#039;&#039;Gadgets&#039;&#039;&#039; (in der deutschsprachigen Wikipedia meist &#039;&#039;&#039;Helferlein&#039;&#039;&#039; genannt) sind Hilfsmittel für die Benutzeroberfläche, die angemeldet über die Einstellungen jederzeit individuell zu- oder abgewählt werden können. Außerdem gehören dazu Komponenten, die das Verhalten der Seiten in dieser Wikipedia beeinflussen, ohne dass sie einer individuellen Konfiguration zugänglich sind…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.cowboy-of-bottrop.de/index.php?title=CowboysWiki:Technik/Skin/Gadgets&amp;diff=5938&amp;oldid=prev"/>
		<updated>2026-07-30T15:48:34Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „{{../../!header |Text=Gadgets (Helferlein)}} &amp;#039;&amp;#039;&amp;#039;Gadgets&amp;#039;&amp;#039;&amp;#039; (in der deutschsprachigen Wikipedia meist &amp;#039;&amp;#039;&amp;#039;Helferlein&amp;#039;&amp;#039;&amp;#039; genannt) sind Hilfsmittel für die Benutzeroberfläche, die angemeldet über die &lt;a href=&quot;/wiki/Hilfe:Einstellungen&quot; title=&quot;Hilfe:Einstellungen&quot;&gt;Einstellungen&lt;/a&gt; jederzeit individuell zu- oder abgewählt werden können. Außerdem gehören dazu Komponenten, die das Verhalten der Seiten in dieser Wikipedia beeinflussen, ohne dass sie einer individuellen Konfiguration zugänglich sind…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{../../!header&lt;br /&gt;
|Text=Gadgets (Helferlein)}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Gadgets&amp;#039;&amp;#039;&amp;#039; (in der deutschsprachigen Wikipedia meist &amp;#039;&amp;#039;&amp;#039;Helferlein&amp;#039;&amp;#039;&amp;#039; genannt) sind Hilfsmittel für die Benutzeroberfläche, die angemeldet über die [[Hilfe:Einstellungen|Einstellungen]] jederzeit individuell zu- oder abgewählt werden können. Außerdem gehören dazu Komponenten, die das Verhalten der Seiten in dieser Wikipedia beeinflussen, ohne dass sie einer individuellen Konfiguration zugänglich sind.&lt;br /&gt;
&lt;br /&gt;
Diese Projektseite beschreibt für Programmierer und Administratoren die technischen und organisatorischen Angelegenheiten.&lt;br /&gt;
&lt;br /&gt;
Das aktuelle Angebot für die angemeldeten Benutzer ist auf {{Benutzer-Einstellung|gadgets}} dargestellt.&lt;br /&gt;
&lt;br /&gt;
== Benutzereinstellungen ==&lt;br /&gt;
* Die Einbindung durch Benutzer ist einfach möglich, indem das gewünschte Gadget in der {{Benutzer-Einstellung|gadgets}} ausgewählt wird.&lt;br /&gt;
* Die jeweils aktuell verfügbaren Helferlein werden dort thematisch gruppiert angezeigt.&lt;br /&gt;
* Gadgets werden immer in der aktuellen Form eingebunden (jede Veränderung bekommt eine unterschiedliche [[Uniform Resource Locator|URL]]); Leeren des [[Cache|Browser-Cache]] ist deshalb nach Veränderungen nicht erforderlich.&lt;br /&gt;
&lt;br /&gt;
=== Gelegentliches Laden ===&lt;br /&gt;
Wenn ein Helferlein nicht bei jedem Aufruf einer Seite geladen werden soll, sondern etwa nur in bestimmten [[Hilfe:Namensräume|Namensräumen]], nicht beim Bearbeiten der Seite oder unter sonstigen benutzerdefinierten Bedingungen, dann lässt sich das im [[../JS|Benutzer-JS]] veranlassen wie [[#loader.load|unten]] angegeben.&lt;br /&gt;
&lt;br /&gt;
=== Nicht angemeldete Benutzer ===&lt;br /&gt;
Nicht angemeldete Benutzer können die Helferlein ebenfalls nutzen, indem sie die Ressourcen mittels [[CowboysWiki:Technik/Browser/Greasemonkey|Greasemonkey/Browser-Skript]] laden wie [[#loader.load|unten]] angegeben.&lt;br /&gt;
&lt;br /&gt;
Als [[#Opt-out|Opt-out markierte Helferlein]] lassen sich jedoch nicht abschalten.&lt;br /&gt;
&lt;br /&gt;
=== Name der Einstellung ===&lt;br /&gt;
Jede Einstellung im Benutzerprofil hat einen Namen; für ein Gadget lautet er:&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: {{WikiLayout|indent}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gadget-&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;[[#Bezeichner|Bezeichner]]&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Arten ==&lt;br /&gt;
Es gibt für ein Gadget die Möglichkeit, [[JavaScript]] einzubinden (der häufigste Fall) und dies auch mit [[Cascading Style Sheets|CSS]] zu kombinieren oder ein reines CSS-Gadget zu definieren.&lt;br /&gt;
&lt;br /&gt;
== Management und Vorschläge ==&lt;br /&gt;
Nur eine kleine Auswahl von besonders häufig benötigten Werkzeugen kann allen Benutzern angeboten werden.&lt;br /&gt;
* Vorschläge für gut dokumentierte, sichere und erprobte Skripte können auf [[CowboysWiki:Technik/Skin/MediaWiki/Änderungen]] gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Beim Gadget übernimmt die Gemeinschaft eine Mitverantwortung für die ordnungsgemäße Funktion.&lt;br /&gt;
* Eine Veränderung ist nur durch [[CowboysWiki:Benutzeroberflächenadministratoren|Benutzeroberflächenadministratoren]] möglich.&lt;br /&gt;
* Die Funktion muss für eine große Zahl von Benutzern sinnvoll sein. Ansonsten werden Definitionsseite und Einstellungen zu unübersichtlich, und Wartung und Pflege sind kaum noch zu leisten.&lt;br /&gt;
* Sind ursprüngliche Autoren nicht mehr aktiv, versuchen andere Programmierer die Funktionalität zu erhalten. Das ist nur in begrenztem Umfang möglich.&lt;br /&gt;
&lt;br /&gt;
== Spezialseite ==&lt;br /&gt;
Auf der [[Hilfe:Spezialseiten|Spezialseite]] [[Spezial:Helferlein]] kann unmittelbar auf den Quellcode aller Helferlein zugegriffen werden, und es werden die Kurzbeschreibungen wie auf der Benutzereinstellungsseite angezeigt.&lt;br /&gt;
&lt;br /&gt;
Außerdem werden Einzelheiten aus der [[#Definitionsseite|Definitionsseite]] angegeben, also ob das Helferlein [[../JS/ResourceLoader|andere Module benötigt]], ob es standardmäßig für alle Benutzer aktiviert ist und ob spezielle Berechtigungen erforderlich sind (heißt: nur für Administratoren gedacht).&lt;br /&gt;
&lt;br /&gt;
Schließlich gibt es zu jedem Helferlein ein Link „Export“, das im [[Extensible Markup Language|XML]]-Format die Kurzbeschreibung usw. sowie die beteiligten Quellcodes in einer Datei zusammenfasst. Das ist dazu gedacht, das Gadget möglichst einfach in einem anderen Wiki-Projekt importieren zu können.&lt;br /&gt;
&lt;br /&gt;
== ResourceLoader ==&lt;br /&gt;
Jedes [[../JS/ResourceLoader|Modul]] für ein Gadget hat folgenden Namen:&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: {{WikiLayout|indent}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;ext.gadget.&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;[[#Bezeichner|Bezeichner]]&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Zum Modul gehören alle Seiten (Systemnachrichten: [[../MediaWiki/Ressourcen/]]), die in der entsprechenden Anweisung auf der [[#Definitionsseite|Definitionsseite]] in die [[#resources|Liste]] aufgenommen wurden. Systemnachrichten ohne diese Definition werden nicht erkannt.&lt;br /&gt;
&lt;br /&gt;
=== Bezeichner ===&lt;br /&gt;
Die Gadget-Bezeichner müssen mit einem Buchstaben (&amp;lt;code&amp;gt;[A-Za-z]&amp;lt;/code&amp;gt;) beginnen, gefolgt von jeder Zahl von Buchstaben, Ziffern (&amp;lt;code&amp;gt;[0-9]&amp;lt;/code&amp;gt;), gegliedert durch Bindestrich&amp;amp;nbsp;(&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;), Unterstrich&amp;amp;nbsp;(&amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;), Doppelpunkt&amp;amp;nbsp;(&amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;) und Punkt&amp;amp;nbsp;(&amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Zwar ist es nicht ausdrücklich ausgeschlossen und könnte wahrscheinlich funktionieren, aber aus zahlreichen Kompatibilitätsgründen bei der Nutzung durch JavaScript-Anweisungen und für gut lesbare URL beschränkt man sich auf den [[American Standard Code for Information Interchange|ASCII]]-Zeichensatz und verzichtet auf Umlaute usw. Die Bildung der Kodierung nach [[UTF-8]] kann zu unterschiedlichen Bezeichnern an irgendeiner Stelle führen. Unterstreichungstriche verhindern einfache eindeutige Abschnittsüberschriften bei der Beschreibung. Ohne Bindestriche&amp;amp;nbsp;(&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;) lassen sich ggf. eindeutigere Suchausdrücke und weitere Nutzungen erreichen.&lt;br /&gt;
&lt;br /&gt;
Zu jedem Gadget-Bezeichner sollen Administratoren eine textliche [[../MediaWiki/Systemnachrichten|Systemnachricht]] als Wikitext anlegen, welche in einem Satz die Funktion erläutert. Sie wird bei den Einstellungen des Kontos und auf der [[#Spezialseite|Spezialseite]] dargestellt und solte, soweit vorhanden, die Dokumentation zu diesem Gadget verlinken.&lt;br /&gt;
&lt;br /&gt;
Die Systemnachricht wird auf &amp;lt;code&amp;gt;MediaWiki:Gadget-&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Bezeichner&amp;#039;&amp;#039; hinterlegt.&lt;br /&gt;
&lt;br /&gt;
Die Systemnachrichten können auch als Unterseite &amp;lt;code&amp;gt;/en&amp;lt;/code&amp;gt; eine englischsprachige usw. Version anbieten.&lt;br /&gt;
&lt;br /&gt;
=== {{Anker|loader.load}} Manuelles Laden ===&lt;br /&gt;
Alle JavaScript- und CSS-Ressourcen eines Gadgets lassen sich auf einmal in der aktuellen Version laden.&lt;br /&gt;
* Nicht ausgewertet werden dabei die in der Gadget-Definition spezifizierten Einschränkungen.&lt;br /&gt;
&lt;br /&gt;
==== Aus dem eigenen Projekt heraus ====&lt;br /&gt;
&amp;lt;code&amp;gt;[[../JS/ResourceLoader#.loader.load()|mw.loader.load]]( &amp;quot;ext.gadget.&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;[[#Bezeichner|Bezeichner]]&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;quot; );&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Aus jedem anderen Wiki heraus ====&lt;br /&gt;
&amp;lt;code&amp;gt;[[../JS/ResourceLoader#.loader.load()|mw.loader.load]]( &amp;quot;https:&amp;lt;nowiki /&amp;gt;//de.wikipedia.org/w/load.php?modules=ext.gadget.&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;[[#Bezeichner|Bezeichner]]&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;quot; );&amp;lt;/code&amp;gt;&lt;br /&gt;
* Beachte das ausführende PHP-Skript &amp;lt;code&amp;gt;load.php&amp;lt;/code&amp;gt; – sonst stünde &amp;lt;code&amp;gt;index.php&amp;lt;/code&amp;gt; an dieser Stelle.&lt;br /&gt;
&lt;br /&gt;
== Definitionsseite ==&lt;br /&gt;
Die wirksame Definition im Wiki erfolgt über die Seite [[MediaWiki:Gadgets-definition]], die nur von [[CowboysWiki:Benutzeroberflächenadministratoren|Benutzeroberflächenadministratoren]] geändert werden kann.&lt;br /&gt;
&lt;br /&gt;
Gadgets sollten so programmiert sein, dass sie nicht vom Eintrag in der Definitionsseite abhängig sind, sondern auch alleinstehend gestartet werden können. Zum einen ist das für die Entwicklung und zum Testen sinnvoll; zum anderen erlaubt das auch dynamische Zugriffe nur unter bestimmten Bedingungen, etwa nur in bestimmten Namensräumen.&lt;br /&gt;
&lt;br /&gt;
Diese Definitionsseite selbst kann ganz normal angesehen werden. Innerhalb der daraus resultierenden [[Spezial:Einstellungen #mw-prefsection-gadgets]] sind jedoch keinerlei projektdefinierte CSS- oder JS-Ressourcen wirksam.&lt;br /&gt;
&lt;br /&gt;
=== {{Anker|format}} Format des Eintrags ===&lt;br /&gt;
&lt;br /&gt;
Jeder Eintrag für ein Gadget hat die Form:&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;[[#Bezeichner|Bezeichner]]&amp;#039;&amp;#039;&amp;lt;code&amp;gt;|&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Quellcode1&amp;#039;&amp;#039;&amp;lt;code&amp;gt;|&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Quellcode2&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
* Eine Systemnachricht &amp;lt;code&amp;gt;MediaWiki:Gadget-&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Bezeichner&amp;#039;&amp;#039; muss als Wikitext eine Kurzbeschreibung enthalten, die auf der Benutzereinstellungsseite angezeigt wird.&lt;br /&gt;
Die Definition kann mit Optionen versehen werden:&lt;br /&gt;
Jeder Eintrag für ein Gadget hat die Form:&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;Bezeichner&amp;#039;&amp;#039;&amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Optionsliste&amp;#039;&amp;#039;&amp;lt;code&amp;gt;]|&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Quellcode-Liste&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
* Dabei ist &amp;#039;&amp;#039;[[#Optionsliste|Optionsliste]]&amp;#039;&amp;#039; eine durch &amp;lt;code&amp;gt;|&amp;lt;/code&amp;gt; gegliederte Aufzählung von Optionen; &amp;#039;&amp;#039;Beispiel:&amp;#039;&amp;#039;&lt;br /&gt;
*: &amp;lt;code&amp;gt;[ResourceLoader|dependencies=mediawiki.util]&amp;lt;/code&amp;gt;&lt;br /&gt;
*:* Geeignet für [[#RLability|Einbindung mittels ResourceLoader]].&lt;br /&gt;
*:* Hängt vom Modul [[../JS/mw#.util|{{Hilfe/tt|1=mediawiki.util}}]] ab, das vor dem Start geladen worden sein sollte.&lt;br /&gt;
* An Pipes und Kommata sind Leerzeichen zulässig.&lt;br /&gt;
&lt;br /&gt;
=== {{Anker|resources}} Liste der Quellcode-Ressourcen ===&lt;br /&gt;
Auf den Bezeichner und möglicherweise die Optionsliste folgt die Liste der Verweise auf Quellcode-[[../MediaWiki/Ressourcen/]] (Systemnachrichten).&lt;br /&gt;
* Die Liste sollte möglichst auf eine Seite für JS und eine für CSS beschränkt bleiben, um den Überblick nicht zu verlieren.&lt;br /&gt;
* Deshalb sollten sie auch denselben Bezeichner verwenden:&lt;br /&gt;
*: &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;Bezeichner&amp;#039;&amp;#039;&amp;lt;code&amp;gt;|&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Bezeichner&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.js|&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Bezeichner&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.css&amp;lt;/code&amp;gt;&lt;br /&gt;
Gemeinsame Bibliotheksressourcen sind in der deutschsprachigen Wikipedia kaum vorhanden, ließen sich aber ohne eigenständiges Gadget als „Systemnachricht“ definieren und auflisten.&lt;br /&gt;
* Im Prinzip sind somit auch weitere Seiten und Unterseiten möglich. Ein JavaScript-Gadget könnte sie aber auch selbst [[#loader.load|nachladen]]. Das müsste es ohnehin automatisch machen, wenn die Ressourcen noch nicht geladen sind, damit es getestet und außerhalb der Gadget-Automatik eingesetzt werden kann. Weitere Ressourcen sind möglicherweise nicht immer erforderlich und müssten nur bei tatsächlichem Bedarf nachgefordert werden.&lt;br /&gt;
Jedem Quellcode-Verweis wird &amp;lt;code&amp;gt;MediaWiki:Gadget-&amp;lt;/code&amp;gt; zur Bildung des Seitennamens vorangestellt.&lt;br /&gt;
&lt;br /&gt;
=== {{Anker|RLability}} ResourceLoader ===&lt;br /&gt;
Geeignet für Einbindung mittels [[../JS/ResourceLoader|ResourceLoader]].&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[ResourceLoader]&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Quellcodes werden nicht einfach aus den Mediawiki-Seiten geladen, sondern es werden automatisch Pakete daraus gebildet und diese versioniert.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Achtung:&amp;#039;&amp;#039; Die Paketbildung setzt voraus, dass die Programmierung auf einem modernen Stand ist.&lt;br /&gt;
* Die JavaScript-Einheiten werden [[../JS/Datenelemente#wiki scope|gekapselt]].&lt;br /&gt;
* Das hat zur Folge, dass angebotene Funktionsaufrufe über das globale Objekt angeboten werden müssen, also &amp;lt;code&amp;gt;window&amp;lt;/code&amp;gt; oder besser {{Hilfe/tt|1=[[../JS/mw/libs|mw.libs]]}} verwenden.&lt;br /&gt;
* Deklarationen über &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; und Funktionsdeklarationen haben nur lokale Wirkung.&lt;br /&gt;
&lt;br /&gt;
=== Optionsliste ===&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|dependencies{{=}}}} Abhängigkeiten ====&lt;br /&gt;
Durch Kommata getrennte Liste von [[../JS/ResourceLoader|Modulen]] (MW-Standard-Module).&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[ResourceLoader|dependencies=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Modulen&amp;#039;&amp;#039;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|ResourceLoader|dependencies=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Modulen&amp;#039;&amp;#039;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
* Die Option [[#RLability|{{Hilfe/tt|1=ResourceLoader}}]] muss in der Optionsliste vorhanden sein.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Um ein Gadget jedoch universell nutzen zu können und bereits für die Entwicklungsphase ist es sinnvoll, wenn auch intern das Vorhandensein erforderlicher Module geprüft und bei deren Fehlen das Nachladen veranlasst wird.&lt;br /&gt;
&lt;br /&gt;
Das Laden in Standardsituationen kann jedoch effizienter gestaltet werden, wenn von vornherein sichergestellt ist, dass benötigte Module in demselben Paket ausgeliefert werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Achtung:&amp;#039;&amp;#039; Die beiden fundamentalen Module &amp;lt;code&amp;gt;mediawiki&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;jquery&amp;lt;/code&amp;gt; dürfen &amp;#039;&amp;#039;niemals&amp;#039;&amp;#039; als Abhängigkeiten aufgeführt werden, da es sonst zu einer &amp;#039;&amp;#039;[[Deadlock (Informatik)|deadlock]]&amp;#039;&amp;#039;-Situation kommt.&lt;br /&gt;
&lt;br /&gt;
Die Anforderung eines nicht existierenden Moduls (womöglich falsch geschriebenen Modulnamens) führt nur zu einem einfachen Fehler mit begrenzten Auswirkungen.&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|skins{{=}}}} Skins ====&lt;br /&gt;
Durch Kommata getrennte Liste von Skin-Bezeichnern, wie etwa: &amp;lt;code&amp;gt;cologneblue modern monobook vector&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[skins=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Skin-Bezeichnern&amp;#039;&amp;#039;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|skins=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Skin-Bezeichnern&amp;#039;&amp;#039;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Präsentation des Gadgets auf der Einstellungsseite wird auf solche Benutzer beschränkt, die momentan eine dieser Skins aktiviert haben. Die Einstellungswirkung des Gadgets bleibt nach einem Skin-Wechsel jedoch erhalten; es wird allerdings nicht ausgeführt, solange keine geeignete Skin vom Benutzer gewählt wurde.&lt;br /&gt;
&lt;br /&gt;
Die Präsentation ist intransparent; die fortbestehende Wirkung nach der Rückkehr zu dieser Skin würde kaum bemerkt werden. Gadgets sollten sowohl in JS wie CSS die momentan aktive Skin abfragen, wenn Einschränkungen bestehen, und darauf dynamisch reagieren. Die Deklaration dieser Option ist zu vermeiden. Es kann in Kauf genommen werden, Gadgets überflüssigerweise zu laden, die von den Benutzern zwar aktiviert wurden, selbst wenn zwischenzeitlich eine andere Skin ausgewählt wurde.&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|default}} Opt-out ====&lt;br /&gt;
Seit MW 1.18 gibt es die Möglichkeit, ein Gadget standardmäßig als &amp;#039;&amp;#039;opt-out&amp;#039;&amp;#039; zu vereinbaren. Es wird dann bei allen nicht angemeldeten Benutzern ausgeführt, und angemeldete Benutzer müssen es explizit deaktivieren.&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[default]&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|default&amp;lt;/code&amp;gt;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|rights{{=}}}} Benutzerrechte ====&lt;br /&gt;
Durch Kommata getrennte Liste von Kennwörtern für ein Benutzerrecht (keine Benutzer&amp;#039;&amp;#039;gruppen&amp;#039;&amp;#039; wie etwa &amp;lt;code&amp;gt;sysop&amp;lt;/code&amp;gt;). Damit kann die Präsentation des Gadgets auf der Einstellungsseite auf solche Benutzer beschränkt werden, die alle diese Rechte haben. Praktisch wird es auf die Administratoren hinauslaufen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[rights=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Benutzerrechten&amp;#039;&amp;#039;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|rights=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Benutzerrechten&amp;#039;&amp;#039;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Prinzip handelt es sich um eine Komma-getrennte Liste; alle aufgezählten Rechte müssen gleichzeitig vorliegen. Praktisch kommt es durch den Pyramidenaufbau der Rechte wohl kaum dazu, dass mehr als ein Recht anzugeben wäre.&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|actions{{=}}}} Aktionen ====&lt;br /&gt;
Durch Kommata getrennte Liste von Kennwörtern für eine [[Hilfe:URL-Parameter#action|Aktion]] (&amp;lt;code&amp;gt;view&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;history&amp;lt;/code&amp;gt;, etc). Falls angegeben, wird das Helferlein nur bei der/den angegebenen Seitenaktion(en) ausgeführt. &amp;lt;code&amp;gt;edit&amp;lt;/code&amp;gt; schließt &amp;lt;code&amp;gt;submit&amp;lt;/code&amp;gt; ein. (seit Anfang 2022&amp;lt;!-- Task=204201 --&amp;gt;)&lt;br /&gt;
* Vorgabe ist: &amp;#039;&amp;#039;immer&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[actions=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Aktionen&amp;#039;&amp;#039;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|actions=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Aktionen&amp;#039;&amp;#039;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|namespaces{{=}}}} Namensräume ====&lt;br /&gt;
Durch Kommata getrennte Liste von [[Hilfe:Namensräume|Namensraum-Nummern]] (seit Herbst 2023).&amp;lt;!-- 2023-10-05 1.41.0-wmf.28 Task 204201 --&amp;gt;&lt;br /&gt;
* Vorgabe ist: &amp;#039;&amp;#039;alle&amp;#039;&amp;#039;.&lt;br /&gt;
* Beispiel für typische Foren: &amp;lt;code&amp;gt;1,3,4,5,7,9,11,13,15,100,101&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[namespaces=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Namensraum-Nummern&amp;#039;&amp;#039;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|namespaces=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Namensraum-Nummern&amp;#039;&amp;#039;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|contentModels{{=}}}} Inhaltsmodelle ====&lt;br /&gt;
Durch Kommata getrennte Liste von [[../../MediaWiki/Content Model|Inhaltsmodellen]] (seit Herbst 2023).&amp;lt;!-- 2023-10-05 1.41.0-wmf.28 Task 204201 --&amp;gt;&lt;br /&gt;
* Vorgabe ist: &amp;#039;&amp;#039;alle&amp;#039;&amp;#039;.&lt;br /&gt;
* Beispiel für Ressourcen: &amp;lt;code&amp;gt;css,javascript,json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[contentModels=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Inhaltsmodellen&amp;#039;&amp;#039;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|contentModels=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Inhaltsmodellen&amp;#039;&amp;#039;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch eine Seite mit Code in einer Programmiersprache kann anteilig Wikitext einblenden, was möglicherweise zusätzlich &amp;lt;code&amp;gt;wikitext&amp;lt;/code&amp;gt;-Ressourcen bedarf. Eine Beschränkung auf &amp;lt;code&amp;gt;wikitext&amp;lt;/code&amp;gt; könnte deshalb auf Seiten für Programmcode nachteilig sein.&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|categories{{=}}}} Kategorien ====&lt;br /&gt;
Seit Ende März 2024 kann das Laden auf (fast nur Wikitext-)Seiten eingeschränkt werden, die in bestimmten Kategorien gelistet sind.&lt;br /&gt;
&lt;br /&gt;
Durch Kommata getrennte Liste von Kategorie-Titeln.&lt;br /&gt;
* Vorgabe ist: &amp;#039;&amp;#039;jede Seite&amp;#039;&amp;#039;.&lt;br /&gt;
* Kategorien, die ein Komma im Titel enthalten, wurden vom Programmierer nicht berücksichtigt.&lt;br /&gt;
* Mehrere Kategorien erweitern im Sinne einer ODER-Verknüpfung die wirksamen Seiten; jede Seite, die von &amp;#039;&amp;#039;Kategorie1&amp;#039;&amp;#039; oder auch &amp;#039;&amp;#039;Kategorie2&amp;#039;&amp;#039; erfasst ist.&lt;br /&gt;
&lt;br /&gt;
In der deutschsprachigen Wikipedia werden Unterkategorien von [[:Kategorie:MediaWiki:Gadget]] verwendet, deren Titel durch Anhängen des [[#Bezeichner|Bezeichners]] gebildet wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[categories=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Kategorie-Titeln&amp;#039;&amp;#039;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|categories=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Kategorie-Titeln&amp;#039;&amp;#039;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|type{{=}}}} Ressourcen-Typ ====&lt;br /&gt;
Bei Ressourcenlisten, die auch CSS enthalten, ist zu entscheiden, ob sie am Anfang geladen werden müssen, und möglichst schon auf den ersten Seitenaufbau wirken sollen, oder ob dies zusammen mit den anderen Ressourcen und JavaScript geschehen kann. Werden HTML-Elemente erst durch das JavaScript-Gadget generiert, und sind sie womöglich nicht ohne Benutzeraktivität sichtbar, dann genügt der zweite Fall.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[type=]&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|type=&amp;lt;/code&amp;gt;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Dabei kann einer der beiden Werte angegeben werden:&lt;br /&gt;
* &amp;lt;code&amp;gt;type=general&amp;lt;/code&amp;gt;&lt;br /&gt;
** Wird vom Wiki-Server automatisch gesetzt, wenn alle Ressourcen JavaScript sind.&lt;br /&gt;
** CSS-Ressourcen werden zusammen mit JavaScript geladen; also ggf. später.&lt;br /&gt;
* &amp;lt;code&amp;gt;type=styles&amp;lt;/code&amp;gt;&lt;br /&gt;
** Wird vom Wiki-Server automatisch gesetzt, wenn alle Ressourcen CSS sind.&lt;br /&gt;
** Die CSS-Ressourcen werden zum ersten Seitenaufbau geladen.&lt;br /&gt;
* Keine Spezifikation:&lt;br /&gt;
** Zumindest übergangsweise wird CSS doppelt geladen; einmal zum Seitenaufbau und einmal beim Laden von JavaScript.&lt;br /&gt;
** Relevant bei Gadgets, die Ressourcen beider Art enthalten.&lt;br /&gt;
** Es sollte dann explizit mittels &amp;lt;code&amp;gt;type=general&amp;lt;/code&amp;gt; spezifiziert werden, dass ein späterer Ladezeitpunkt ausreicht.&lt;br /&gt;
Wenn ein Gadget sowohl CSS- wie auch JavaScript-Ressourcen enthält und es erforderlich ist, dass das CSS bereits auf den Seitenaufbau wirkt, dann sollte dieses in ein separates, ggf. [[#hidden|verstecktes]] Gadget ausgelagert werden. Es kann durch eine Abhängigkeitsdeklaration vom eigentlichen JavaScript-Gadget abgefordert werden.&lt;br /&gt;
&lt;br /&gt;
Diese Funktionalität wurde Anfang Oktober 2016 eingeführt&amp;lt;ref&amp;gt;1.28.0-wmf.21, {{Phab|Task=42284}} / [[gerrit:308096]]&amp;lt;/ref&amp;gt; und soll mittelfristig vermeiden, dass sicherheitshalber CSS-Ressourcen doppelt geladen werden müssen.&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|hidden}} Versteckte Module ====&lt;br /&gt;
Durch Kennzeichnung mit &amp;lt;code&amp;gt;hidden&amp;lt;/code&amp;gt; werden Gadgets in der Einstellungsseite unsichtbar. Das wirkt sich nur auf die Einstellungsseite aus; aus den sonstigen Datenstrukturen wird die Definition nicht entfernt. &amp;lt;!-- Ein Laden derartiger Gadgets lässt sich jedoch mit &amp;lt;code&amp;gt;[[#default|default]]&amp;lt;/code&amp;gt; nicht erzwingen; nur die Zuordnung zwischen Modulnamen und aktuellen Quellcodeversionen. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Somit lassen sich Gadgets vor den Benutzern verstecken, aber trotzdem die Zuweisung des &amp;#039;&amp;#039;[[#Bezeichner|Bezeichner]]&amp;#039;&amp;#039; zu einem Quellcode nutzen, wie auch die weitere Effizienzsteigerung bei der Paketbildung.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[hidden]&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|hidden&amp;lt;/code&amp;gt;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Diese Code-Blöcke können auch als &amp;lt;code&amp;gt;[[#dependencies=|dependencies]]&amp;lt;/code&amp;gt; angegeben werden.&lt;br /&gt;
&lt;br /&gt;
Zwar sind die Gadgets in der [[Spezial:Einstellungen|Einstellungsseite]] niemals zu sehen, für niemanden; jedoch wird ihr Beschreibungstext auf [[Special:Gadgets]] erwartet. Fehlt dieser, dann gibt es hässlichen Ersatz und ein Rotlink würde produziert. Es soll deshalb immer eine Nachricht für den Beschreibungstext erstellt werden, in der dann auch auf eine Dokumentation verlinkt werden kann.&lt;br /&gt;
&lt;br /&gt;
Enthält ein Abschnitt nur versteckte oder für dieses Konto nicht wirksame &amp;#039;&amp;#039;(rights, skins)&amp;#039;&amp;#039; Gadgets, so wird auch dessen [[#Überschriften |Abschnittsüberschrift]] nicht angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Empfehlenswert wäre auch, die [[#Bezeichner|Bezeichner]] nach einem systematischen Schema zu vergeben.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Bis November 2016 &amp;lt;!-- 1.29.0-wmf.4 2016-12-01 phab:T33150 Gerrit:322233 --&amp;gt; wurden für versteckte Module Konstrukte der Form&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[rights=hidden-gadget]&lt;br /&gt;
[rights=hidden-NIEMAND]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
verwendet. Durch Forderung nach einem frei erfundenen Benutzerrecht wurde die gleiche Wirkung erzielt. Das kann mittlerweile umgestellt werden und sollte zur Verständlichkeit auch nicht mehr genutzt werden.&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|package}} Bildung eines &amp;#039;&amp;#039;package&amp;#039;&amp;#039; ====&lt;br /&gt;
Die zugehörigen Ressourcen sollen ein &amp;#039;&amp;#039;package&amp;#039;&amp;#039; bilden.&lt;br /&gt;
* Nur die allererste JavaScript-Seite solle dann auch ausgeführt werden.&lt;br /&gt;
* Andere Seiten können importiert (und damit ausgeführt) werden über die Funktion &amp;lt;code&amp;gt;require()&amp;lt;/code&amp;gt;.&lt;br /&gt;
JSON-Seiten, die ansonsten nicht zugänglich wären, lassen sich damit ebenfalls in das ausgelieferte Paket einbinden.&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[package]&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|package&amp;lt;/code&amp;gt;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Die alleinige Angabe des Schlüsselworts solle ausreichen.&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|peers}} Nutzung anderer Gadgets ====&lt;br /&gt;
Durch Kommata getrennte Liste von [[#Bezeichner|Gadget-Bezeichnern]], die nur CSS enthalten sollen.&lt;br /&gt;
* Diese Gadgets werden ebenfalls geladen, falls dieses Gadget geladen wird.&lt;br /&gt;
* Damit lässt sich eine Bibliothek gemeinsam geteilter Ressourcen bilden.&lt;br /&gt;
Diese Ressourcen werden vor den anderen [[#dependencies|Abhängigkeiten]] geladen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration: Angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|peers=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Gadgets&amp;#039;&amp;#039;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|supportsUrlLoad}} Unterstützt URL-Laden ====&lt;br /&gt;
Durch Kennzeichnung mit &amp;lt;code&amp;gt;supportsUrlLoad&amp;lt;/code&amp;gt; kann erlaubt werden, mittels des [[Hilfe:URL-Parameter#withgadget|URL-Parameter]] &amp;lt;code&amp;gt;&amp;amp;withgadget=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;[[#Bezeichner|Bezeichner]]&amp;#039;&amp;#039; ein Gadget zu starten und somit auch entsprechende Verlinkungen anzubieten.&amp;lt;!-- Frühjahr 2022 Task=29766 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[supportsUrlLoad]&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|supportsUrlLoad&amp;lt;/code&amp;gt;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die alleinige Angabe des Schlüsselworts solle ausreichen; es könnten auch Werte zugewiesen werden: &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|top{{=}}}} &amp;lt;s&amp;gt;&amp;#039;&amp;#039;Vorrangiges Laden&amp;#039;&amp;#039;&amp;lt;/s&amp;gt; ====&lt;br /&gt;
In sehr seltenen Fällen (etwa für VisualEditor-Plugins) war es sinnvoll, ein Gadget vor anderen Modulen zu laden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #C8C8C8; border: 2px #000000 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[top]&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|top&amp;lt;/code&amp;gt;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Dieses Feature wird mittlerweile auf anderen Wegen realisiert und war 2024 beendet.&lt;br /&gt;
&lt;br /&gt;
==== {{Anker|targets{{=}}}} &amp;lt;s&amp;gt;&amp;#039;&amp;#039;Geräte&amp;#039;&amp;#039;&amp;lt;/s&amp;gt; ====&lt;br /&gt;
Dieses Feature wurde 2023 auf korrespondierende [[#skins=|Skins]] migriert und im Januar 2024 beendet.&lt;br /&gt;
&lt;br /&gt;
Durch Kommata getrennte Liste von Ausgabegeräten. Das waren: &amp;lt;code&amp;gt;desktop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;mobile&amp;lt;/code&amp;gt;&lt;br /&gt;
* Vorgabe war &amp;lt;code&amp;gt;desktop&amp;lt;/code&amp;gt; – auf Mobilgeräte hatten die Definitionen standardmäßig keinen Einfluss.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #C8C8C8; border: 2px #000000 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
Deklaration:&lt;br /&gt;
* &amp;lt;code&amp;gt;[targets=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Ausgabegeräten&amp;#039;&amp;#039;&amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. angehängtes&lt;br /&gt;
* &amp;lt;code&amp;gt;|targets=&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Liste von Ausgabegeräten&amp;#039;&amp;#039;&lt;br /&gt;
in einer vorhandenen Optionsliste.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Überschriften ===&lt;br /&gt;
Die Einstellungsseite kann gegliedert werden durch&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px #B0B0B0 solid; display:table; margin-left: {{WikiLayout|indent}}; padding-left:0.5em; padding-right:1em;&amp;quot;&amp;gt;&lt;br /&gt;
 == Was-Neues ==&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
und diese erscheinen auch auf der [[#Spezialseite|Spezialseite]].&lt;br /&gt;
&lt;br /&gt;
Der deutschsprachige Text für die Überschrift (hier &amp;#039;&amp;#039;Was-Neues&amp;#039;&amp;#039;) muss in einer [[../MediaWiki/Systemnachrichten|Systemnachricht]] &amp;lt;code style=&amp;quot;white-space:nowrap&amp;quot;&amp;gt;MediaWiki:Gadget-section-&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;Was-Neues&amp;#039;&amp;#039; hinterlegt werden.&lt;br /&gt;
&lt;br /&gt;
Neben H2-Überschriften sind auch tiefere Ebenen möglich.&lt;br /&gt;
&lt;br /&gt;
Die Systemnachrichten können auch als Unterseite &amp;lt;code&amp;gt;/en&amp;lt;/code&amp;gt; eine englischsprachige usw. Version anbieten.&lt;br /&gt;
&lt;br /&gt;
== {{Anker|System}} Systemgadgets ==&lt;br /&gt;
Systemgadgets enthalten CSS- und JavaScript-Code, der über das Gadgetsystem geladen wird, aber nicht dafür vorgesehen ist, individuell in den Einstellungen deaktiviert (oder wieder aktiviert) zu werden. Systemgadgets sind deshalb standardmäßig für alle registrierten und nicht registrierten Benutzer aktiviert und in der Regel vor ihnen versteckt. Ihren Ursprung haben sie meist in den zentralen [[CowboysWiki:Technik/Skin/MediaWiki/Ressourcen|Ressourcenseiten]], also etwa der [[MediaWiki:Common.css]], aus der sie ausgelagert wurden. Dieses Vorgehen hat folgende Vorteile:&lt;br /&gt;
* Das Laden von Code ist über die Definitionsseite zielgerichteter möglich, etwa durch die Beschränkung auf Namensräume und Aktionen. Code in zentralen Ressourcenseiten wird dagegen bei jedem Seitenaufruf geladen, auch wenn dieser in einem Fall gar nicht erforderlich wäre.&lt;br /&gt;
* Es können Redundanzen zwischen zwischen Desktop- und Mobilansicht vermieden werden, wenn über Gadgets derselbe Code in beiden Ansichten geladen wird. Dies ist über die Ressourcenseiten nur eingeschränkt möglich.&lt;br /&gt;
* In der Versionsgeschichte des Gadgets finden sich nur Codeänderungen, die die dort bereitgestellten Funktionen betreffen. Änderungen sind über die Zeit somit leichter nachzuvollziehen.&lt;br /&gt;
* Jede Angelegenheit hat eine unabhängige Dokumentations- und Diskussionsseite, auf der im Wikitext die Hintergründe genauer beschrieben werden können, und es wird keine gemeinschaftliche Diskussionsseite für sämtliche Common-Angelegenheiten über die Jahrzehnte hinweg benutzt.&lt;br /&gt;
&lt;br /&gt;
Derzeit sind folgende Systemgadgets aktiviert:&lt;br /&gt;
* [[/annotationPair/]] – Unterstützung der Vorlagen [[Vorlage:FN|FN]] und [[Vorlage:FNZ|FNZ]]&lt;br /&gt;
* [[/citeRef/]] – Verbesserungen und projektspezifische Anpassungen bei der Anzeige von Einzelnachweisen&lt;br /&gt;
* [[/defaultPlainlinks/]] – Darstellung ausgewählter Linkziele als interne Links&lt;br /&gt;
* [[/dewikiCommonHide/]] – projektweites Ausblenden bestimmter Elemente&lt;br /&gt;
* [[/dewikiCommonLayout/]] – projektweite CSS-Klassen für Positionierungen&lt;br /&gt;
* [[/dewikiCommonStyle/]] – projektweite CSS-Klassen für Hintergrund- und Rahmenfarben&lt;br /&gt;
* [[/dewikiDarkmode/]] – Anpassungen für den Dunkelmodus&lt;br /&gt;
* [[/dewikiResponsive/]] – Anpassungen für responsive Skins&lt;br /&gt;
* [[/Hauptseite/]] – spezifische Formatierung der Hauptseite&lt;br /&gt;
* [[/Hauptseite-Sprachen/]] – Sprachauswahl auf der Hauptseite&lt;br /&gt;
* [[/navileisteAutocollapse/]] – automatisches Ausklappen von Navigationsleisten&lt;br /&gt;
* [[/NavFrameLegacy/]] – Unterstützung der früher genutzten &amp;lt;code&amp;gt;NavFrame&amp;lt;/code&amp;gt;-Klassenfamilie in einigen Namensräumen&lt;br /&gt;
* [[/prettytableLegacy/]] – Definition der früher genutzten &amp;lt;code&amp;gt;prettytable&amp;lt;/code&amp;gt;-Klasse für den Benutzernamensraum&lt;br /&gt;
* [[/sourceEditing/]] – Verbesserungen bei Quelltext-Bearbeitungen&lt;br /&gt;
* [[/specialpageLoader/]] – Nachladen weiterer Gadgets auf bestimmten Spezialseiten&lt;br /&gt;
* [[/specialSearch/]] – CSS für [[Spezial:Suche]]&lt;br /&gt;
* [[/uploadtools/]] – ermöglicht die Vorschaufunktion im lokalen Hochladeformular&lt;br /&gt;
* [[/watchlistMessage/]] – ermöglicht das Ausblenden von Hinweisnachrichten auf der Beobachtungsliste&lt;br /&gt;
&lt;br /&gt;
Systemgadgets für einzelne [[Hilfe:Namensräume|Namensräume]]:&lt;br /&gt;
* [[/nsCategory/]] – Kategorienamensraum&lt;br /&gt;
&lt;br /&gt;
Zeitweise kann aktiviert werden:&lt;br /&gt;
* [[/dewiki-logo/]] – Änderung des Seitenlogos zu besonderen Anlässen&lt;br /&gt;
&lt;br /&gt;
Eine automatisch erzeugte detaillierte Übersicht der Systemgadgets und ihrer Konfiguration ist auf [[Spezial:Gadgets #Systemgadgets]] einsehbar.&lt;br /&gt;
&lt;br /&gt;
== Weitere Informationen ==&lt;br /&gt;
{{MediaWiki|Extension:Gadgets}}&lt;br /&gt;
{{Phabricator|ICON=1|project=EGAD}}&lt;br /&gt;
* [[MediaWiki:Gadgets-definition]] – Spezifikation der Gadgets&lt;br /&gt;
* [[../JS/Gadget|JS/Gadget]] – Hinweise für Gadget-Entwickler&lt;br /&gt;
* [{{canonicalurl:Special:Prefixindex|prefix=Gadget-&amp;amp;namespace=8}} Alle Gadget-Unterseiten]&lt;br /&gt;
* [[Spezial:GadgetUsage]] – Statistiken zur Nutzung von Helferlein pro Wiki &amp;lt;!-- 2015-10, 1.27wmf.4, Task 115152, [[Gerrit:247559]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anmerkungen ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{SORTIERUNG:Gadgets}}&lt;br /&gt;
[[Kategorie:CowboysWiki:Technik/Skin/Gadgets| ]]&lt;br /&gt;
[[Kategorie:CowboysWiki:Technik/Werkzeuge]]&lt;br /&gt;
[[Kategorie:Hilfe:Spezialseite]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cowboy</name></author>
	</entry>
</feed>