Handleiding:Interface/JavaScript

This page is a translated version of the page Manual:Interface/JavaScript and the translation is 100% complete.

MediaWiki:Common.js bevat JavaScript die voor alle gebruikers wordt geladen. Vul "MediaWiki:Common.js" in bij het zoekveld van uw wiki. U ziet dan of de pagina bestaat. Als de pagina niet bestaat, kunt u, als u de benodigde gebruikersrechten heeft , de pagina aanmaken met de code die u wil uitvoeren. Er zijn vergelijkbare pagina's die alleen van belang zijn voor gebruikers die een specifieke skin gebruiken. (zie hieronder)

Als $wgAllowUserJs true is, kan een gebruiker de interface alleen voor zichzelf aanpassen door het aanmaken of importeren van eigen scripts in bepaalde eigen subpagina's. Extension:Gadgets maakt het voor website-beheerders en gebruikers eenvoudiger om JavaScript te delen (Gadget kitchen ).

Op deze pagina geven we aan welke configuratie-variabelen er zijn en wat hun status is. Voor een beschrijving van de algemene JavaScript API: JSDuck documentatie.

Lijst van JavaScript pagina's

Note that any scripts or gadgets won't load on Special:Preferences itself, or if safemode is used.

Globale scripts


Eigen scripts

Deze zijn alleen beschikbaar als $wgAllowUserJs de waarde true heeft.

mw.config

Om programmeren met JavaScript te ondersteunen, heeft MediaWiki een aantal configuratie waarden in een object mw.config .

De meeste van deze variabelen hebben de prefix wg.
  • Vanwege legacy redenen zijn deze namen allemaal een globale JavaScript variabele (als $wgLegacyJavaScriptGlobals waar is), door het gebruik van een prefix is de naam uniek in de applicatie.
  • Een aantal van deze variabelen komen overeen met de $wg variabelen in PHP.
  • Naast de hier genoemde namen zijn er ook veel extensies die een JavaScript configuratie variabele aanmaken, dan met de prefix 'wg'.

Deze waarden zijn te benaderen via mw.config (documentatie).

Website breed

Naam Type Beschrijving Beschikbaarheid Example output
debug Integer (MW 1.36+) / Boolean (<= MW 1.35) Since MediaWiki 1.36+, 0 means debug mode is off, and a positive non-zero number means debug mode is on (e.g. 1 or 2).

In MediaWiki 1.35 and earlier, false and true were used (phab:T85805).

1.17MW 1.17+ 0
skin String De interne naam van de nu gebruikte skin. 1.18MW <1.7 (monobook skin)
MW 1.8+: all skins and pages
vector
stylepath String Volledige URL naar de root map van de skins, bevat stylesheets en skin-specifieke scripts. Het pad bevat niet de submap skin, het wordt niet afgesloten met een "/". 1.18MW <1.7 (monobook skin)
MW 1.8+: all skins and pages
/w/skins
wgArticlePath String Lokaal pad, vanaf de root, voor de 'articles', bevat een "$1" placeholder die kan vervangen worden door een paginatitel om een geldige URL te maken naar die pagina. Met een geldige paginatitel title kan er met gebruik van wgArticlePath.replace('$1', title) een geldige URL worden gemaakt. Zie ook $wgArticlePath . 1.08MW 1.8+ /wiki/$1
wgCaseSensitiveNamespaces Array De ID's van de namespaces zijn in MediaWiki hoofdletterafhankelijk. Bepaalt door de waarde van hun configuratie-variabelen $wgCapitalLinks en $wgCapitalLinksOverrides . 1.18MW 1.18+ (r90234) []
wgContentLanguage String The language code for the default content language of the wiki. 1.08MW 1.8+ en
wgContentNamespaces Array met integers De ID's van de namespaces die als "content namespaces" worden beschouwd. Komt overeen met de configuratie-variabele $wgContentNamespaces , inclusief 0 als die er er nog niet in stond. 1.23MW 1.23+ (git #3d87e3a8) [100, 102, 104, 106, 0]
wgDBname String De naam van de wiki database. 1.13MW 1.13+ mediawikiwiki
wgWikiID String Geeft de wiki aan. Moet de voorkeur krijgen boven wgDBname. 1.34MW 1.34+ (d45baf7f0734) mediawikiwiki
wgExtensionAssetsPath String Root pad gebruikt voor extensie statische assets (bijv. images). Voeg '/' toe aan de naam van de extensie om het root pad van een bepaalde extensie te krijgen. 1.18MW 1.18+ (r82247) /w/extensions
wgFormattedNamespaces Object Geeft een koppeling van de namespace ID's met de vertaalde namespace namen. Voor elke namespace heeft het object een gegeven met het nummer van de namespace (als tekst) als key en de naam van de namespace name als value. Dit is exclusief aliassen en canonieke namen. 1.16MW 1.16+ {0: '', 1: 'Talk:', 2: 'User', ... }
wgNamespaceIds Object Geeft een koppeling van de namespace namen met de vertaalde namespace ID's. Per namespace naam, inclusief vertaalde, canonieke namen en aliassen, heeft het object een gegeven waarbij de namespace naam de key is en het ID van de namespace de value (als integer). Een key is in kleine letters, spaties zijn vervangen door underscores. 1.16MW 1.16+ {media: -2, special: -1, "": 0, talk: 1, user: 2, ... }
wgScript String Volledig pad naar het 'main access point' script, beginnend bij de root, inclusief de naam van het 'full script' met het bestandstype. Op WMF wiki's, normaal "/w/index.php". Zie ook $wgScript . 1.11MW 1.11+ /w/index.php
wgScriptPath String Het pad deel van wgScript, zonder achtervoegsel "/". Dit is het pad dat gebruikt wordt directe aanroepen naar het php accesspoint zoals index.php of api.php. Zie ook $wgScriptPath . 1.08MW 1.8+ /w
wgServer String De URL van de server, zonder afsluitende "/". De combinatie wgServer + wgScriptPath + "/api.php", zou bijvoorbeeld een geldige URL geven naar het API accesspoint script. 1.08MW 1.8+ //www.mediawiki.org
wgServerName String De naam van de server zonder het protocol en de schuine streep. (bijv. "en.wikipedia.org"). 1.24MW 1.24+ (72c0ce43a854) www.mediawiki.org
wgSiteName String De naam van de site, zoals gedefinieerd door $wgSitename . 1.16MW 1.16+ MediaWiki
wgVariantArticlePath String or false Als een wiki taalvarianten heeft (zoals de Chinese en de Servische Wikipedia), instellen dat een pad begint bij de root van de taalvariant als die anders is dan wgContentLanguage. Het pad heeft twee placeholders: "$1" wordt vervangen door de paginatitel en "$2" door de taalcode van de taalvariant (bijv. "zh-tw"). Als de wiki geen taalvarianten heeft, instellen op false. Zie ook $wgVariantArticlePath . 1.13MW 1.13+ false
wgVersion String Identificeert de gebruikte versie van MediaWiki. 1.12MW 1.12+ 1.42.0-wmf.26


Alle pagina's (gebruiker/pagina-specifiek)

Naam Type Beschrijving Beschikbaarheid Example output
wgAction String De uitgevoerde actie, bijv. "edit" bij bewerken pagina of "view" bij weergeven pagina. Overzicht van de acties. MW 1.10+ view
wgArticleId Integer Het interne ID (page ID) van de pagina. Bij niet-bestaande pagina's en speciale pagina's is het 0. MW 1.8+ 17317
wgCanonicalNamespace String De canonieke (onvertaald, geen alias) namespace naam van de pagina. MW 1.8+ Manual
wgCanonicalSpecialPageName String, false of niet gedefinieerd Op speciale pagina's, de canonieke naam van de speciale pagina; op andere pagina's ongedefinieerd (tot en met versie 1.15) of false (vanaf versie 1.16). MW 1.9+ false
wgCategories Array of strings De lijst met alle categorieën waartoe een pagina behoort. Dit is in wezen een JavaScript versie van het categorie veld dat op de pagina getoond wordt (grijs veld onderaan de pagina, in Monobook/Vector). Als het categorie veld niet op de huidige pagina wordt getoond (bij het bewerken / bekijken geschiedenis) zal wgCategories een leeg array zijn. MW 1.16+ ['JavaScript']
wgCurRevisionId Integer Het revisie ID van de nu getoonde pagina op het moment dat de pagina werd opgebouwd. Ook gebruikt voor verschillen en geschiedenispagina's. Waarde bij speciale pagina's is 0. MW 1.9+ 6400980
wgIsArticle boolean true if the page displays the content of a wiki page, e.g. when viewing a page (regardless of namespace), or when viewing an old revision or diff with rendered content below it. It is false for anything else (edit form, history page, special pages, most generated pages, etc.).
This variable is badly named – it is not related to a page being a main namespace "article".
MW 1.8+ true
wgIsProbablyEditable boolean True if the page is probably editable (based on Title::quickUserCan) by the current user. The 'probably' is necessary for performance reasons. An exact editability check is too costly here, due to cascading protection and hook-based extensions like TitleBlacklist that may be enabled. If this is true, it is likely to be editable. If it is false, it is definitely not editable. (git #0bbc3589) true
wgIsRedirect boolean true als de pagina een doorverwijzing is naar een wiki pagina die #REDIRECT [[Target paginanaam]] gebruikt. Het is anders false (normale pagina's, speciale pagina's, meest gegenereerde pagina's, enz.). MW 1.22+ (gerrit:75478) false
wgNamespaceNumber Integer The number of the namespace the page is in. MW 1.8+ 100
wgPageContentLanguage String Language code of the page content language (according to $context->getTitle()->getPageLanguage()) MW 1.19+ (r104483) en
wgPageContentModel String 'wikitext' on typical wiki pages, 'javascript' on pages interpreted as JavaScript, 'css' on pages interpreted as CSS, 'Scribunto' on pages interpreted as Scribunto (Lua). 1.16MW 1.22+ (gerrit:62178) wikitext
wgPageName String The full name of the page, including the localized namespace name, if the namespace has a name (the main namespace (number 0) doesn't), and with spaces replaced by underscores. To get only the title without the namespace, use wgTitle. MW 1.8+ Manual:Interface/JavasScript
wgPageParseReport Object Parser limit report for the page when parser data is available. Includes data about parset limits, Lua statistics when Scribunto extension is enabled and parser cache information. MW 1.28+ (git #316207) {limitreport: {...}, scribunto: {...}, cachereport: {...}}
wgRedirectedFrom String When redirected contains the title of the page we were redirected from. If the page was not redirected, the value is omitted entirely (absent in mw.config). Uses the same format as wgPageName MW 1.19+ (r104668) null
wgRelevantPageName String The full name of the page to which content actions and navigation links (e.g. a skin's tabs) apply. The AJAX watch function uses this to work correctly on special pages such as Special:MovePage and Special:WhatLinksHere. MW 1.19+ (r113737) Manual:Interface/JavaScript
wgRelevantUserName String or unset The relevant name of the user to which content actions and some extra navigation links (e.g. link to user rights or user contributions) apply. MW 1.23+ (git #88773) null
wgRelevantPageIsProbablyEditable boolean Like wgIsProbablyEditable, but applied to the contextually relevant page name from wgRelevantPageName instead of strictly the current page being viewed. For example, when viewing a page "Special:MovePage/Example" this will indicate whether the subject page is editable. MW 1.30+ (git #dbfe9c99) true
wgRestrictionEdit Array of strings or unset If the page is editable at all (and is not a special page) and editing of the page is restricted to some user groups, the array contains the minimum user group a user must be in in order to edit the page. For semi-protected pages, it'd contain ["autoconfirmed"]; for fully protected pages ["sysop"]. If there are no explicit restrictions, the value is [] (an array with no elements).

This array contains only explicit protections. Namespace-wide protections (e.g. MediaWiki namespace, $wgNamespaceProtection ), cascading protections, or "protections" brought about by the TitleBlacklist extension's "noedit" attribute, are ignored by this array. On such pages, the value is normally [], unless additional protections have been applied specifically to that page.

If the page does not exist, the variable is not set.

MW 1.14+ []
wgRestrictionMove Array of strings If the page is movable at all (and is not a special page) and moving of the page is restricted to some user groups, the array contains the minimum user group a user must be in in order to move the page. For semi-moveprotected pages, it'd contain ["autoconfirmed"]; for fully moveprotected pages ["sysop"]. If there are no explicit restrictions, the value is [] (an array with no elements).

This array contains only explicit protections. Namespace-wide protections (e.g. MediaWiki namespace, $wgNamespaceProtection ), cascading protections, or "protections" brought about by the TitleBlacklist extension's "moveonly" attribute, are ignored by this array. On such pages, the value is normally [], unless additional protections have been applied specifically to that page.

MW 1.14+ []
wgRevisionId Integer Het revisie ID van de nu bekeken revisie of de rechter revisie bij het bekijken van verschillen (diff) (0 als diffonly=yes, taak T231744). Ook gebruikt bij verschillenpagina's; bij speciale pagina's, geschiedenispagina's is de waarde 0, op resterende pagina's is het niet van toepassing. MW 1.22+ git #7fa7b71e 6400980
wgSearchType Tekst of niet gedefinieerd De naam van het backend dat bij het uitvoeren van zoekopdrachten wordt gebruikt. MW 1.23+ (git #118655) CirrusSearch
wgTitle String De paginatitel zonder de namespace. Het mag spaties bevatten, het bevat geen underscores. Gebruik wgPageName om de titel met de namespace op te halen. MW 1.8+ Interface/JavaScript

Gerelateerd aan de gebruiker die nu de pagina bekijkt:

Naam Type Beschrijving Beschikbaarheid Example output
wgUserEditCount Integer Het aantal bewerkingen dat de huidige gebruiker heeft gedaan (indien niet ingelogd: 0). 1.21MW 1.21+ 556
wgUserGroups Array van strings Een array dat alle (lokale) gebruikersgroepen bevat waar de huidige gebruiker lid van is. Als de gebruiker niet ingelogd is: null. Gebruikersgroepen worden herkend met de interne namen, bijv. "sysop", "autoconfirmed", "bureaucrat", ... De naam van de standaard gebruikersgroep is "*". MW 1.10+ ['autopatrolled', '*', 'user', 'autoconfirmed']
wgUserId Integer Het numerieke ID van de huidige gebruiker (indien niet ingelogd: 0). 1.21MW 1.21+ 12311063
wgUserLanguage String De taalcode van de taal van de gebruikersinterface, zoals gezet in Special→Preferences (die kan met een parameter uselang= in de URL zijn overschreven). 1.08MW 1.8+ en
wgUserName String Als het een ingelogde gebruiker is, de gebruikersnaam van de gebruiker die nu de pagina bekijkt. Als de gebruiker niet ingelogd is, is het null (niet het IP-adres van de gebruiker, dit is anders dan bij PHP $wgUser->getName() op de webserver). MW 1.8+ Your Username
wgUserRegistration Integer De datum en tijd waarop de gebruiker is geregistreerd, uitgedrukt in milliseconden na de 'epoch'. Null indien niet ingelogd. 1.21MW 1.21+ 1514273653000


Enkele pagina's

Er zijn meer variabelen, dat hangt af van de namespace van de pagina, de wiki configuratie en/of gebruikersvoorkeuren.

Naam Type Beschrijving Beschikbaarheid
Main Page
wgIsMainPage Boolean true als de huidige pagina de hoofdpagina is van de wiki. Het wordt anders helemaal weggelaten (de standaard wordt dan null in mw.config). MW 1.18+
Als de taal van de inhoud varianten heeft:
wgUserVariant String Als de wiki taalvarianten heeft dan is de taalcode die van de voorkeursvariant van de gebruiker. Als er geen taalvarianten zijn dan bestaat de waarde niet (
mw.config.exists( 'wgUserVariant' ); // false
mw.config.get( 'wgUserVariant' ); // null).
MW 1.16+
Na het opslaan van een bewerking
wgPostEdit String "saved" als de gebruiker de pagina net heeft opgeslagen. "created" als de gebruiker de pagina net heeft aangemaakt. "restored" als de gebruiker de pagina heeft hersteld door via de geschiedenis een eerdere revisie terug te zetten, zodat die oudere revisie weer de actuele revisie is. null anders. Note that:
  1. On null edits, this is null, not "saved"
  2. When using "undo", this is "saved"
  3. On rollback, this is null
MW 1.21+ (gerrit:50480)
Bij het vergelijken van revisies
wgDiffOldId Integer Revisie ID van de "oude" revisie bij het bekijken van verschillen. Alleen beschikbaar tijdens het vergelijken van revisies. MW 1.30+ (git #a469795e)
wgDiffNewId Integer Revisie ID van de "nieuwe" revisie bij het bekijken van verschillen. Alleen beschikbaar tijdens het vergelijken van revisies. MW 1.30+ (git #a469795e)

Pagina specifiek (Wikibase extensie)

Er is aanvullende informatie beschikbaar als de website Wikibase ondersteund:

Naam Type Beschrijving Beschikbaarheid
wgWikibaseItemId String Het ID van het Wikibase item van de huidige pagina. Op dit moment, in de edit mode heeft deze variabele geen waarde. Zie phab:T185437. ?

Hooks voor extensies

Zie ook