Handleiding:Interface/JavaScript
MediaWiki en JavaScript |
---|
Levering JavaScript |
|
On-wiki JavaScript toevoegen |
|
Extensies, skins en andere modules |
Verdere ondersteuning |
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: gegenereerde 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
- MediaWiki:Common.js - alle skins, deze worden genegeerd door de mobiele website via Extension:MobileFrontend
- MediaWiki:skinname.js - per skin, voorbeeld: MediaWiki:Vector.js
- MediaWiki:Group-group.js - per gebruikersgroep, voorbeeld: MediaWiki:Group-sysop.js
- MediaWiki:Mobile.js - specifiek voor de mobiele website, via Extension:MobileFrontend
- Special:Gadgets - kan door elke gebruiker worden geactiveerd in Preferences , of kan standaard worden ingeschakeld voor alle gebruikers; geleverd door Extension:Gadgets
Eigen scripts
Deze zijn alleen beschikbaar als $wgAllowUserJs
de waarde true
heeft.
- User:Example/common.js - alle skins, vanaf MediaWiki 1.17
- User:Example/skinname.js - per skin, voorbeeld: User:Example/vector.js; altijd kleine letters)
- User:Example/global.js - per Manual:Wiki family , als Extension:GlobalCssJs door die 'family' wordt gebruikt
Om programmeren met JavaScript te ondersteunen, heeft MediaWiki een aantal configuratie waarden in een object mw.config .
- 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, |
MW 1.17+ | 0 |
skin
|
String | De interne naam van de nu gebruikte skin. | MW 1.8+: all skins and pages |
MW <1.7 (monobook skin)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 "/". | MW 1.8+: all skins and pages |
MW <1.7 (monobook skin)/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 .
|
MW 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 .
|
r90234) | MW 1.18+ ([] |
wgContentLanguage
|
String | The language code for the default content language of the wiki. | MW 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.
|
git #3d87e3a8) | MW 1.23+ ([100, 102, 104, 106, 0] |
wgDBname
|
String | De naam van de wiki database. | MW 1.13+ | mediawikiwiki |
wgWikiID
|
String | Geeft de wiki aan. Moet de voorkeur krijgen boven wgDBname .
|
d45baf7f0734) | MW 1.34+ (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. | r82247) | MW 1.18+ (/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. | MW 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. | MW 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 . | MW 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 .
|
MW 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.
|
MW 1.8+ | //www.mediawiki.org |
wgServerName
|
String | De naam van de server zonder het protocol en de schuine streep. (bijv. "en.wikipedia.org"). | 72c0ce43a854) | MW 1.24+ (www.mediawiki.org |
wgSiteName
|
String | De naam van de site, zoals gedefinieerd door $wgSitename . | MW 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 .
|
MW 1.13+ | false |
wgVersion
|
String | Identificeert de gebruikte versie van MediaWiki. | MW 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 (niet vertaald, geen alias); 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. Dit is niet beschikbaar in MobileFrontend, ongeacht of de geavanceerde modus in- of uitgeschakeld is.
|
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).
|
gerrit:62178) | MW 1.22+ (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 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 |
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). | MW 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). | MW 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).
|
MW 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. | MW 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:
|
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
- ResourceLoaderGetConfigVars - Vanaf MediaWiki 1.17 kan een extensie met deze hook eigen systeembrede variabelen aanmaken.
- MakeGlobalVariablesScript - Vanaf MediaWiki 1.14 kan een extensie eigen variabelen toevoegen aan de OutputPage. Als de variabele niet afhangt of de pagina wordt bekeken dient u de hook ResourceLoaderGetConfigVars te gebruiken.
Zie ook
- How to enhance wiki content with JavaScript
- TypeScript definitions for the JavaScript interface (work in JavaScript projects as well in popular IDEs)