Wikipedia:Technik/Skin/JS/Variablen
Wikipedia:Technik/!header Diese Seite beschreibt, wie sich in der JavaScript-Programmierung Informationen gewinnen lassen über die aktuelle Seite, den momentanen Benutzer und die sonstige Konfiguration.
Projekt-, seiten- und situationsabhängige Konfigurationsvariablen
Eine Reihe von Parametern gibt Informationen über die MediaWiki-Installation und das Wiki-Projekt (Database) wie auch die momentane Aktion und Einzelheiten über den Artikel und Benutzer-Einstellungen. Eine Übersicht der wichtigsten Parameter ist nachstehend aufgelistet.
wg steht für „WikiGlobals“.<ref>meta:Manual:Global object variables</ref>
Mit Einführung von MediaWiki 1.17 (seit 2011) sollen die Parameter wie folgt abgefragt werden:
mw.config.get("Name")
oder gleich mehrere als Array:
mw.config.get( [ "Name1", "Name2" ] )
Rückgabewert ist im zweiten Fall ein Objekt, bei dem die Namen der Komponenten die Namen der Parameter sind.
Für unbekannte Bezeichner wird null zurückgegeben.
{{#invoke:Vorlage:Anker|f |errCat=Wikipedia:Vorlagenfehler/Vorlage:Anker |errHide=1}}
{{#if:|
}}
Weitere Abfrage:
mw.config.exists("Name")- Informiert, ob Name definiert ist.
- Zu erweiterten Möglichkeiten siehe mw.Map.<ref name="mw.Map.exists(Array)" />
Alle Parameter stehen auf der HTML-Quelltext-Seite.<ref name="HTML-Leak" />
{{#invoke:Vorlage:Anker|f |errCat=Wikipedia:Vorlagenfehler/Vorlage:Anker |errHide=1}} Die nachstehende Tabelle gibt stabile und umsetzbare Werte wieder.
| Bezeichner | Erläuterung |
|---|---|
| Projektspezifisch | |
wgDBname
|
dewiki – deutschsprachige Wikipediamehr … |
wgSiteName
|
Wikipedia (Deutsch) – Lokale KopieProjektname in der Landessprache, könnte auch „Wikipédia“ oder „Vikipedi“ heißen.<ref name="wgSiteName" /> |
wgContentLanguage
|
de
|
wgNamespaceIds
|
{"diskussion": 1, "talk": 1, "benutzer": 2, "benutzerin": 2, "user": 2, "benutzer_diskussion": 3, … } |
wgFormattedNamespaces
|
{…, "6": "Datei", …, "10": "Vorlage", … } (Objekt, aber kein fortlaufend ab Null nummeriertes Array) |
wgCaseSensitiveNamespaces
|
Array mit Namensräumen, bei deren Seiten die Groß/Kleinschreibung des Titels unterschieden wird. Vor allem für Wiktionaries wichtig, weil es dort auch eigene Seitennamen mit kleinem Anfangsbuchstaben geben darf. In der de.WP ist die Länge Null. |
wgContentNamespaces
|
Array mit Namensraum-Nummern, in denen keine Signaturen vorgenommen werden sollen. In der de.WP: [ 0 ]Richtig ist, dass Artikel nicht signiert werden; jedoch gibt es Wartungsbausteine. |
wgExtraSignatureNamespaces
|
Array mit Namensraum-Nummern, in denen signierte Beiträge zusätzlich zu Diskussionsseiten vorkommen können. In der de.WP: |
| Seitenspezifisch | |
wgArticleId |
2478474(Bei Spezialseiten und Bildern, die von Commons geladen werden, gilt wgArticleId === 0)
|
wgTitle |
Technik/Skin/JS/VariablenMenschenfreundliche Form (nicht URL-fähig: Leerzeichen) Ohne Namensraum! |
wgPageName |
Wikipedia:Technik/Skin/JS/VariablenBedingt URL-fähig<ref name="URLencode" /> |
wgNamespaceNumber |
4 (siehe Liste)
|
wgRevisionId |
Versionsnummer der momentan benutzten Seitenversion Wenn wgRevisionId!==wgCurRevisionId dann momentane Version nicht die aktuellste.Nicht bei generierten Spezialseiten und während der Bearbeitung (dann 0).
|
wgCurRevisionId |
Versionsnummer der aktuellen Seitenversion2478479Auch während action=edit oder submit verfügbar; nicht bei den nur generierten Spezialseiten (dort 0).
|
wgStableRevisionId |
Versionsnummer der zuletzt bestätigten (hier: gesichteten) Seitenversion Wenn wgStableRevisionId!==wgCurRevisionId dann ungesichtet.Nur in Sichtungs-Namensräumen (sonst null).
|
wgCategories |
["Deutscher", "Frau"] nur bei wgIsArticle gefüllt; während action=edit nicht verfügbar; jedoch bei submit→Vorschau (nicht aber Diffpage). Zurzeit auch nicht in der Mobildarstellung.<ref>Vorlage:Phab</ref>
|
wgPageContentLanguage |
Seiteninhaltssprache; vor allem in mehrsprachigen Wikis wie Commons interessant |
wgCanonicalNamespace |
"Project" (=Wikipedia), einheitlicher Name |
wgCanonicalSpecialPageName |
Seite im Spezial-Namensraum, einheitlicher Name beispielsweise "Listfiles", "Watchlist", "Whatlinkshere"; false
|
wgPageContentModel |
“Content Model” der Seite<ref name="contentmodel" /> |
wgPageViewLanguage |
Seitenansichtssprache; Mischung aus Seiteninhaltssprache unter den Bedingungen einer Benutzersprache (mehrsprachige Wikis) |
wgWikibaseItemId |
{ wgWikibaseItemId: "Q83" }Nur bei |
wgIsRedirect |
true – Diese Seite enthält #REDIRECT usw.false – Diese Seite ist keine WeiterleitungNicht zu verwechseln mit wgRedirectedFrom
|
| Situationsabhängig | |
wgIsArticle |
true – Feste Seite nur ansehen (view, auch diffpage); keine Spezialseitefalse – Generierte Spezialseite oder Aktivität am Artikel: Editieren, Änderungen, Vorschau
|
wgAction |
view – Seite nur ansehen oder Spezialseite; auch Versionsvergleichedit – Seite öffnen zur Bearbeitung<ref name="wgAction" />submit – Vorschau, Änderungen (, Speichern→view)<ref name="wgAction" />history – Versionsgeschichte – Frühere Versionen (vergleichen)<ref name="wgAction" /> bis 2012info – Informationen zur Seitewatch – Zur Beobachtungsliste hinzugefügt (Bestätigung)parsermigration-edit – MigrationswerkzeugAusführlich zu action unter Hilfe:URL-Parameter #action.
|
wgRestrictionEdit |
Individueller Schutzstatus einer bearbeiteten Seite<ref name="wgRestriction" /> |
wgRestrictionMove |
Individueller Schutzstatus einer Seite<ref name="wgRestriction" /> |
wgIsProbablyEditable |
(?) nicht vor aktuellem Benutzer geschützt, keine Spezialseite, kein Flow |
wgPostEdit |
"saved" (früher: true) – wenn zuvor diese Seite gespeichert wurde und jetzt als Ergebnis angezeigt wird
|
wgRedirectedFrom |
Wenn deklariert: Auf die aktuelle Seite wurde von einer anderen Seite weitergeleitet. Der Wert ist der Seitenname der Weiterleitung. |
| wgInternalRedirectTargetUrl | Temporäre interne Variable; kann in der dargestellten Seite eigentlich nicht verfügbar sein. Bewahrt vor allem das ursprünglich angegebene Fragment, selbst wenn die Weiterleitung ein anderes vorsieht. Vorlage:Phab |
wgRelevantPageName |
Wenn deklariert: Die aktuelle Seite (Spezialseite) bezieht sich auf eine andere Seite. Beispiel: Auf “WhatLinksHere” wäre das die Seite, auf die verlinkt wird. |
wgRelevantPageIsProbablyEditable |
false / true |
wgRelevantArticleId |
PageId zu wgRelevantPageName |
wgRelevantUserName |
Wenn deklariert: Die aktuelle Seite (Spezialseite) bezieht sich auf einen bestimmten Benutzer (Beiträge, nicht aber Benachrichtigungen, nicht Beo). |
debug |
true – Debug-Modus aktiviert
|
| Benutzerspezifisch | |
skin |
monobookSkin; ein Wert aus cologneblue minerva modern monobook vector vector-2022
|
wgUserName |
PerfektesChaosnull für IP (bis 2024)Zeichenkette für temporary user (ab 2024) nicht angemeldete Konten hätten kein Benutzerskript – wohl aber site-JavaScript |
wgUserLanguage |
de
|
wgUserIsTemp |
angemeldet (ab 2024)? false / true
|
wgUserFirstRegistration |
1146555091000<ref name="UserRegistration" />
|
wgUserRegistration |
[seit etwa 2006 registriert] 17626593926000<ref name="UserRegistration" />
|
wgUserGroups |
["autoreview", "editor"][ "*", "temp" ] für temporary user (ab 2024)
|
wgGlobalGroups |
Aktive globale Benutzergruppen. global-sysop wäre nur in „Kleinen Wikis“ aktiv.
|
| Darf API lesend benutzen. | |
| Darf API schreibend benutzen. | |
wgUserId |
Numerische ID des eigenen Benutzerkontos |
wgUserEditCount |
Anzahl der eigenen Bearbeitungen (einschließlich gelöschte)
|
wgUserVariant |
Nur auf Wikis mit mehreren Sprachvarianten: Bevorzugte Sprachvariante des momentanen Benutzers. |
wgNoticeUserData |
Im Zusammenhang mit der hauseigenen Banner-Werbung definiertes Objekt, dessen Inhalte direkt an externe Seiten weitergeleitet werden können. Diese könnten allerdings auch über wgUserName erschlossen werden.
|
| Echo | |
wgEchoConfig |
Globaler Namensraum, nicht über mw.config.get() DOM-Object einer <tr> tür Echo.
|
wgEchoHelpPage |
URL zur Hilfeseite |
wgEchoOverlayConfiguration |
{ notification-count="1", max-notification-count=99 }
|
wgUserNewMsgRevisionId |
oldid der letzten gelesenen eigenen Diskussionsseite, wenn es fremde Beiträge darauf gibt.<ref>Vorlage:Phab</ref>
|
| Webserver | |
wgServer |
https://wiki-de.moshellshocker.dns64.de<ref name="wgServer-2011-10" /><ref name="wgServer-2011-09" />
|
wgArticlePath |
/wiki/$1<ref name="wgServer-2011-09" /><ref name="ArticlePath" />
|
wgScript |
/w/index.php<ref name="wgServer-2011-09" />
|
weggefallen; ".php"
| |
wgScriptPath |
/w<ref name="wgServer-2011-09" />
|
weggefallen; /w/load.php (2015: //bits.wikimedia.org/de.wikipedia.org/load.php)<ref name="wgLoadScript" />
| |
stylepath |
/skins
|
wgExtensionAssetsPath |
2|3}}/extensions |
| Lokalisierung<ref name="L10N" /> | |
wgDefaultDateFormat |
"dmy" Projektstandard<ref name="dateformat" />
|
wgDigitTransformTable |
[ "", "" ] wichtig für arabisch-basierte Sprachen |
wgMonthNames |
[ "", "Januar", … ] Weil nicht (mehr) verwendet, soll die Bereitstellung künftig wegfallen: Vorlage:Phab – |
| [ "", "Jan.", … ] 2020 weggefallen: Vorlage:Phab – | |
wgSeparatorTransformTable |
[ ",Tab.", ".Tab," ] |
wgTranslateNumerals |
true
|
| Nur auf Special:Upload | |
| wgCheckFileExtensions | true
|
| wgFileCanRotate | true
|
| wgFileExtensions | [ "png", "gif", … ] War bis 2015 auf allen Seiten verfügbar gewesen; nunmehr nur noch auf Special:Upload. |
| wgMaxUploadSize | { file: 104857600, "*": 5368709120 } |
| wgStrictFileExtensions | true
|
| wgUploadAutoFill | true
|
| wgUploadSourceIds | [ "wpUploadFile" ] |
| Details der Projektkonfiguration | |
| { cologneblue:"CologneBlue", modern:"Modern", monobook:"MonoBook", vector:"Vector", timeless: "Timeless", minerva: "MinervaNeue", fallback: "Fallback", apioutput: "ApiOutput" } | |
wgAjaxLicensePreview |
true
|
wgCheckUserClientHintsHeadersJsApi |
[ "brands", "architecture", "bitness", "fullVersionList", "mobile", "model", "platform", "platformVersion" ] |
wgCiteReferencePreviewsActive |
true / false |
wgCitoidConfig |
{ citoidServiceUrl:"//citoid.wikimedia.org/api"} (Citoid) |
weggefallen; früher true wenn Projekt CodeMirror unterstützt
| |
weggefallen; dewikiTypischerweise identisch wgDBname, aber nicht zwingend; bei der Bildung der cookie-Namen vorangestellt
| |
| weggefallen; (string) leer für "dewiki" | |
weggefallen; /
| |
weggefallen; 2592000Sekunden entsprechend 30 Tagen | |
wgEditSubmitButtonLabelPublish |
true |
wgEventLoggingBaseUri |
"//de.wikipedia.org/beacon/event" |
wgFlaggedRevsParams |
{ tags: { accuracy: {…} } |
wgGuidedTourHelpGuiderUrl |
Help:Geführte Touren/Guider |
wgIllegalFileChars |
":/\"
|
wgLegalTitleChars |
" %!"$&'()*,\-./0-9:;=?@A-Z\\\^_`a-z~+\u0080-\uFFFF"
|
| weggefallen; "Wikipedia:Hauptseite" | |
wgMediaViewerEnabledByDefault |
true |
wgMediaViewerOnClick |
false |
wgNoticeProject
|
wikipedia – generiert durch CentralNotice
|
wgPopupsFlags |
0
|
weggefallen; zuletzt: ["mediawiki.legacy.wikibits"] (wikibits).
| |
weggefallen; zuletzt: 2000 oder anders.
| |
wgSearchType |
"CirrusSearch" seit Mitte November 2014; zuvor: "LuceneSearch"
|
wgUrlProtocols |
https\:\/\/|ftp\:\/\/|irc\:\/\/| … |
wgVector2022LanguageInHeader |
false |
wgVersion |
1.43.81.43.81
|
wgVisualEditor |
{ pageLanguageCode: "de-x-formal", pageLanguageDir: "ltr", pageVariantFallbacks: "de-formal" } |
| Wechselnde Umgebungsbedingungen | |
wgHostname
|
Sie enthalten den Servernamen und die Zeit (Millisekunden) für das Parsen der Seite; außerdem den Ressourcenverbrauch. Bisher stand diese Information als Kommentar im HTML-Quelltext: <!-- Served by mw1069 in 0.976 secs --> Inzwischen steht am Ende des HTML-Quelltextes: mw.config.set({"wgBackendResponseTime":981,"wgHostname":"mw1177"});Außerdem ist der Parser-Report inzwischen als JS-Variable verfügbar. Nunmehr Wert von wgHostname: "mw-web.eqiad.canary-d6f885b86b-fh4vc"
|
wgBackendResponseTime
| |
wgPageParseReport
| |
wgBetaFeaturesFeatures |
Array |
wgBreakFrames |
true
|
wgEditMessage |
"editing" beim Bearbeiten (auch in der Vorschau/Diff), sonst null.Wird von LivePreview benutzt, um document.title und #firstHeading mit neuen Werten zu versehen.
|
wgRequestId |
"908706d4-dda2-4453-9289-42d279f9c4b9"
|
wgSiteNoticeId |
SiteNotice ist aktiv mit dieser ID |
wgULSIMEEnabled |
false/true |
wgULSNoImeSelectors |
[ "#wpCaptchaWord" ] |
wgCoordinates |
Standortinformation (etwa eines Mobilgerätes) |
wgMFNearbyEndpoint |
Standortinformation (etwa eines Mobilgerätes) für In der Nähe |
wgMFNearbyRange |
Umkreisradius (maximale Entfernung) für In der Nähe |
Geo.country |
" DE" usw.; zumindest mutmaßliches Staatsgebiet des Benutzers; Standort des InternetprovidersGeo könnte null oder kein Objekt sein<ref>Das Objekt Geo ist möglicherweise nicht sofort verfügbar, etwa erst nach jQuery(document).ready oder trifft noch später ein.</ref>
|
Einige der Werte sind aus den Parserfunktionen bekannt. Eine vollständige Liste steht unter mw:Manual:Interface/JavaScript #mw.config.
{{#invoke:Vorlage:Anker|f |errCat=Wikipedia:Vorlagenfehler/Vorlage:Anker |errHide=1}} Benutzerkonfiguration
Über mw.user hat man im JavaScript-Code Zugriff auf die Benutzerkonfiguration. Das ist ein Spiegel der Benutzereinstellungen auf dem Server (auch bei nicht angemeldeten Benutzern definiert und mit einem entsprechenden Standardprofil belegt).
Für die aktuelle Sitzung kann bekannt sein:
mw.user.id()–wgUserName, sonst Zufallszahlmw.user.isAnon()–truewenn keinwgUserName, sonstfalsemw.user.getName()→wgUserNamemw.user.sessionId()
Analog zu den Konfigurationsparametern sind mit MediaWiki 1.17 auch die Einstellungen aus dem Benutzerprofil verfügbar geworden.
Die Abfrage soll erfolgen mittels:
mw.user.options.get("Bezeichner")
Zu weiteren Möglichkeiten siehe mw.Map.<ref name="mw.Map.exists(Array)" />
Diese Werte werden allerdings möglicherweise erst nach dem Benutzer-Skript definiert, so dass sie sich nicht ohne weiteres auslesen lassen. Mit der Funktion .loader.using() des ResourceLoader muss die Bereitstellung von user.options abgewartet werden.
Alle Einstellungen (bis auf die E-Mail-Adresse) stehen auf der HTML-Quelltext-Seite.<ref name="HTML-Leak" />
Änderungen des Objekts sind mit mw.user.options.set() möglich.
- Dies wirkt auf anschließend aufgerufene Skripte; kann diesen gegenüber also eine veränderte Benutzerkonfiguration simulieren.
- Auf das bei angemeldeten Benutzern auf dem Server hinterlegte Profil hat das keinen Einfluss.
- Für Änderungen des Profils auf dem Server müssen API-Funktionen benutzt werden. Es bietet sich
.saveOption()bzw..saveOptions()an. - Wenn der Bezeichner mit
userjs-beginnt, können bis zu 100 durch Gadgets und Benutzerskripte generierte Optionen hinterlegt und abgefragt werden.<ref>1.46.0-wmf.2 2025-11-14 Vorlage:Phab Gerrit:1200081 $wgUserJsPrefLimit</ref>
Seit MW 1.18 ist mit <syntaxhighlight lang="javascript" inline>mw.user.tokens.get("editToken")</syntaxhighlight> der für automatisierte Bearbeitung per API erforderliche editToken verfügbar, ohne dass zuvor eine gesonderte Abfrage mit Ajax vorgenommen werden muss.
Liste möglicher Optionsbezeichner:<ref name="Optionsbezeichner" />
advancedsearch-disablebetafeatures-auto-enrollcampaignevents-allow-invitationsccmeonemailscentralnotice-display-campaign-type-advocacycentralnotice-display-campaign-type-advocacy-local-exceptioncentralnotice-display-campaign-type-article-writingcentralnotice-display-campaign-type-article-writing-local-exceptioncentralnotice-display-campaign-type-eventcentralnotice-display-campaign-type-event-local-exceptioncentralnotice-display-campaign-type-fundraisingcentralnotice-display-campaign-type-fundraising-local-exceptioncentralnotice-display-campaign-type-governancecentralnotice-display-campaign-type-governance-local-exceptioncentralnotice-display-campaign-type-photographycentralnotice-display-campaign-type-photography-local-exceptioncheckuser-temporary-account-enablecheckuser-userinfocard-enablecirrussearch-defaultcirrussearch-pref-completion-profilecodemirror-beta-feature-enablecompact-language-linkscolscontextcharscontextlinescxcx-enable-entrypointscx-entrypoint-fd-statuscx_campaign_newarticle_showndate– Datumsformat<ref name="dateformat" />date-local-exceptiondiffonlydiff-typedisablemaildisablesuggestdiscussiontools-autotopicsubdiscussiontools-betaenablediscussiontools-editmodediscussiontools-newtopictooldiscussiontools-newtopictool-createpagediscussiontools-replytooldiscussiontools-showadvanceddiscussiontools-sourcemodetoolbardiscussiontools-topicsubscriptiondiscussiontools-visualenhancementsdisplayquicksurveysecho-**** Echoeditfonteditondblclickeditsectiononrightclickeditrecoveryeditsectioneditsectiononrightclickeditwidthemail-allow-new-usersenotifminoreditsenotifrevealaddrenotifusertalkpagesenotifwatchlistpageseventlogging-display-consoleextendwatchlistexternaldiffexternaleditorfancysigfileexporterflaggedrevseditdiffsflaggedrevssimpleuiflaggedrevsstableflaggedrevsviewdiffsforceeditsummaryforcesafemodegadget-**** siehe untengendergettingstarted-task-toolbar-show-introgrowthexperiments-****hidecategorizationhideminorhidepatrolledhighlightbrokenhomepage_mobile_discovery_notice_seenimagesizeipinfo-beta-feature-enableipinfo-use-agreementjustifylanguagemathmath-popupsmath-enable-visualeditormf_amc_optinminordefaultminerva-thememobile-editormultimedia-viewermultimediaviewer-enablenewpageshidepatrollednicknamenocachenoconvertlinknorollbackdiffnumberheadingsparsermigrationparsermigration-parsoid-readviewspopupspopups-local-exceptionpopups-reference-previewsprefershttps<ref>1.22wmf14 2013-08-29</ref>previewonfirstpreviewontoppst-cssjsquickbarrcdaysrcenhancedfilters-disablercfilters-wl-collapsedrcfilters-wl-saved-queriesrclimitrcshowwikidatareadinglists-web-ui-enabledrealme-urlsrememberpasswordrequireemailrevisionslider-disablerowssearch-match-redirectsearchNs0searchNs1…searchNs9…searchNs100searchlimitsearch-special-pagesearch-thumbnail-extra-namespacesshowhiddencatsshowjumplinksshownumberswatchingshowrollbackconfirmationshowtocshowtoolbarskinskin-local-exceptionskin-responsivestubthresholdtemplatedata-favorite-templatesthumbsizetimecorrectiontwl-notifiedtwocolconflicttwocolconflict-enableduls-compact-linksuls-preferencesunderlineusebetatoolbarusebetatoolbar-cgdusecodeeditorusecodemirrorusecodemirror-colorblinduseeditwarninguselivepreviewusenewrcuserjs-***user.tokensvariantvariant-** -gan -iu -kk -ku -shi -sr -tg -uz -zhvector-appearance-pinnedvector-collapsiblenavvector-font-sizevector-limited-widthvector-main-menu-pinnedvector-page-tools-pinnedvector-simplesearchvector-themevector-toc-pinnedvisualeditor-autodisablevisualeditor-betatempdisablevisualeditor-betatempdisable-local-exceptionvisualeditor-collabvisualeditor-diffmode-historicalvisualeditor-editorvisualeditor-enablevisualeditor-enable-experimentalvisualeditor-hidebetawelcomevisualeditor-hidetabdialogvisualeditor-hideuseredvisualeditor-newwikitextvisualeditor-tabswatchcreationswatchcreations-expirywatchdefaultwatchdefault-expirywatchdeletionwatchlistdayswatchlisthideanonswatchlisthidebotswatchlisthidecategorizationwatchlisthideliuwatchlisthideminorwatchlisthideownwatchlisthidepatrolledwatchlistreloadautomaticallywatchlisttokenwatchlistunwatchlinkswatchmoveswatchrollbackwatchrollback-expirywatchstar-expirywatchuploadswlenhancedfilters-disablewlenhancedfilters-seen-tourwllimitwlshowwikibase
{{#invoke:Vorlage:Anker|f |errCat=Wikipedia:Vorlagenfehler/Vorlage:Anker |errHide=1}} Die Gadgets („Helferlein“) werden teilweise dynamisch durch die Module registriert; ist das Helferlein in den Benutzereinstellungen nicht aktiviert, so wäre dann die Optionsvariable undefiniert (undefined):
gadget-bkl-checkgadget-contribsrangegadget-createNewSectiongadget-Doppel-s-Schreibunggadget-easyNewSectiongadget-editMenusgadget-editsection-leftgadget-editsection-rightgadget-Einleitung-bearbeitengadget-Erweiterte-Navigationsleiste-Quicklinksgadget-Extra-Editbuttonsgadget-HotCatgadget-markAdminsgadget-navigation-popupsgadget-navileisteAutocollapsegadget-OpenStreetMapgadget-PBgadget-PermaPageLinkgadget-Personendatengadget-Pfeil-hochgadget-PrettyLoggadget-Rechtschreibpruefunggadget-revisionCountergadget-revisionjumpergadget-rightsfiltergadget-Rot-Gruen-Sehschwaechegadget-Screenreader-Optimierunggadget-Suchfokus-Hauptseitegadget-toolserver-integrationgadget-Vorlagenmeistergadget-wikEdgadget-Zeitzonenkonverter
Beta-Features wechseln regelmäßig; etwa:
betafeatures-geonotahack
Im Prinzip können Benutzerskripte auch selbst ausgedachte Werte in der Struktur mw.user.options.values registrieren. Allerdings wird diese möglicherweise auf den serverseitigen Zustand zurückgesetzt, wenn Benutzer ihre Präferenzen verändern. Eine dauerhafte Speicherung der Werte auf dem Server (und damit zwischen Seiten und Sitzungen verfügbar) ist nicht vorgesehen (bis auf userjs-). Es empfiehlt sich deshalb nicht, außerhalb der über die Spezialseite Einstellungen verfügbaren Werte hier eigene Werte abzulegen. Nicht von MediaWiki bereitgestellte Skripte sollten besser über mw.libs konfiguriert werden oder völlig andere Wege gehen.
Anmerkungen
<references>
<ref name="ArticlePath">
Den URL-Pfad zu einer bestimmten Seite erhält man über mw.util.getUrl().
</ref>
<ref name="contentmodel">
{{#lst:{{#rel2abs:../../..}}/MediaWiki/Content Model|contentmodel}}
</ref>
<ref name="dateformat">
{{#lst:{{#rel2abs:../../..}}/MediaWiki/Datenformate|datetime}}
</ref>
<ref name="HTML-Leak">
Damit werden sie auch beim Speichern als Datei auf der Festplatte abgelegt. Verschickt man eine solche Datei per Mail an Dritte, erhalten diese übrigens auch den Watchlisttoken.
</ref>
<ref name="L10N">
Siehe dazu auch: mw.language.
</ref>
<ref name="mw.Map.exists(Array)">
Seit Juni 2020 gibt es bei der Funktion mw.config.exists() und mw.user.exists() nur noch einzelne Zeichenketten-Werte als Argumente, nicht jedoch Arrays, die über acht Jahre auch niemals in einem Wiki verwendet wurden. Vorlage:Phab, gerrit:594345
</ref>
<ref name="Optionsbezeichner">
aktueller Stand per API
</ref>
<ref name="URLencode">
Unterstreichungsstriche und Umlaute, aber nicht encoded.
Mit der JavaScript-Standardfunktion encodeURIComponent() lässt sich eine sichere Verwendung in URL erreichen:
encodeURIComponent(mw.config.get('wgPageName')) – Anschließend müssen aber die : und / wiederhergestellt werden.
Besser geht das mit den Funktionen unter Encoding.
</ref>
<ref name="wgAction">
wgAction:
- Mit MW 1.19 wurde der Wert
historysubmitdurchviewersetzt; in der URL heißt esaction=diff. - Vielleicht entfällt irgendwann später der Wert
submit(angekündigt für MW 1.19); der Werteditstünde dann nicht nur für das erstmalige Öffnen zur Bearbeitung, sondern auch für die Vorschauansicht und die Diffpage während der Bearbeitung. (Bug 25800, rev:108343)- Sinnvoll ist es, sich im Rahmen von Überarbeitungen auf diese Situation einzustellen. Mit
mw.util.getParamValue("action")lässt sich der Unterschied über den URL-Parameter ermitteln, der bei Erstbearbeitungeditenthält, später dannsubmit.
- Sinnvoll ist es, sich im Rahmen von Überarbeitungen auf diese Situation einzustellen. Mit
</ref>
<ref name="wgLoadScript">
Entfernt 2019 (1.34.0-wmf) für mw.util.wikiScript( "load" )
</ref>
<ref name="wgRestriction">
Der pauschale Schutz ganzer Namensräume wie MediaWiki: wird nicht erfasst.
wgRestrictionEdit wird erst gesetzt beim Versuch, die Seite zu bearbeiten.
wgRestrictionEdit und wgRestrictionMove sind jeweils ein Array mit der Bezeichnung einschränkender Benutzerrechte. Ist das Array null oder leer (! .length), bestehen keine Einschränkungen.
Typische Elemente sind:
"autoconfirmed"– Halbschutz"editeditorprotected"– Dreiviertelschutz in wgRestrictionEdit"sysop"– Vollschutz""odernull– Möglicher Überrest eines entfernten Schutzes (siehe gerrit:7821 – die Möglichkeit sollte sicherheitshalber auch in JS abgefangen werden)
Sie können gegen Elemente von wgUserGroups abgeglichen werden.
</ref>
<ref name="wgServer-2011-09">
| Identifizierer | http | https |
|---|---|---|
wgServer
|
http://de.wikipedia.org
|
https://secure.wikimedia.org
|
wgArticlePath
|
/wiki/$1
|
/wikipedia/de/wiki/$1
|
wgScript
|
/w/index.php
|
/wikipedia/de/w/index.php
|
wgScriptPath
|
/w
|
/wikipedia/de/w
|
</ref> <ref name="wgServer-2011-10">
| URL | wgServer
|
|---|---|
| http://de.wikipedia.org/ | //de.wikipedia.org
|
| https://de.wikipedia.org/ | |
Um festzustellen, in welchem Projekt ein Skript zurzeit aktiv ist, sollte jedoch nicht die gelegentlich wechselnde URL benutzt werden, sondern der wesentlich stabilere wgDBname.
Das Protokoll ist nicht mehr über wgServer abzufragen; dies ergibt sich nunmehr über window.location.protocol – wenn tatsächlich einmal erforderlich.
Für API-Abrufe muss die URL mit mw.config.get("wgServer")+mw.util.wikiScript("api") gebildet werden. Es ergibt sich ein Pfad innerhalb derselben Domain, was für asynchrone Abfragen erforderlich ist.
Innerhalb einer Seite kann das Voranstellen von wgServer aber meist entfallen, weil dann ein Seiten-relativer Pfad verwendet wird.
Seit Mitte November 2012 wird mit gerrit:13429 jede URL mit secure.wikimedia.org umgeschrieben; es kann keine Seite mehr sich selbst in dieser Domain sehen.
Mit der vollständigen Umstellung auf https ist auf den Wikis der WMF keine Analyse mehr erforderlich; Skripte, die nur in diesem Bereich arbeiten sollen, können vereinfacht werden.
| URL | wgServer
|
|---|---|
| https://de.wikipedia.org/ | //de.wikipedia.org
|
| //de.wikipedia.org/ | |
| http://de.wikipedia.org/ |
</ref>
<ref name="UserRegistration">
Es handelt sich um die Unix-Zeit (momentan: {{#time:U}}) in Millisekunden.
Erst seit etwa Frühjahr 2006 wird in der Datenbank der Zeitpunkt der Erstanmeldung im lokalen Wiki gespeichert.
- Anmeldung vor 2006:
- wgUserRegistration =
null - wgUserFirstRegistration =
1426593926000(nachträglicher Vermerk)
- wgUserRegistration =
- Anmeldung ab 2006:
- wgUserRegistration =
1265762337000 - wgUserFirstRegistration =
1265762337000
- wgUserRegistration =
Bei nicht angemeldeten Konten handelt es sich um die Vergabe einer temporären ID.
</ref>
<ref name="wgSiteName">
Um abzufragen, in welcher Art von Projekt ein Skript zurzeit aktiv ist, sollte deshalb wgDBname analysiert werden.
Die Software wird auch außerhalb der WMF verwendet; hier kann auch ein Stadtwiki seinen Namen angeben. Es ist keine Klassifizierung bestimmter WMF-Projektarten. </ref> </references>