Manual:Interface/JavaScript/nl
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
mw.config
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 | Voorbeeld uitvoer |
---|---|---|---|---|
debug |
Integer (1.36+) / Boolean (-1.35) | Sinds MediaWiki 1.36+ betekent 0 dat de debug-modus is uitgeschakeld, en een positief niet-nul getal betekent dat de debug-modus is ingeschakeld (bijv. 1 of 2 ).
In MediaWiki 1.35 en eerder werden |
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 of 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 | Voorbeeld uitvoer |
---|---|---|---|---|
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 van 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 als de pagina de inhoud van een wiki-pagina weergeeft, bijvoorbeeld wanneer u een pagina bekijkt (ongeacht de namespace) of wanneer u een oude herziening of een andere versie bekijkt met onderstaande weergave. Het is false voor al het anderw (bewerkingsformulier, geschiedenispagina, speciale pagina's, meest gegenereerde pagina's enz.).
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. Het 'probably' is noodzakelijk om prestatieredenen. 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' op typische wikipagina's, 'javascript' op pagina's die worden geïnterpreteerd als JavaScript, 'css' op pagina's die zijn geïnterpreteerd als CSS, 'Scribunto' op pagina's die zijn geïnterpreteerd als Scribunto (Lua). |
gerrit:62178) | MW 1.22+ (wikitext |
wgPageName |
String | De volledige naam van de pagina, inclusief de vertaalde naam van de namespace, indien de namespace een naam heeft (de main namespace (nummer 0) niet), en met spaties vervangen door liggende streepjes. Om alleen de titel te krijgen zonder de namespace, gebruik wgTitle . |
MW 1.8+ | Manual:Interface/JavasScript |
wgPageParseReport |
Object | Parser-limietrapport voor de pagina wanneer parsergegevens beschikbaar zijn. Inclusief gegevens over parserlimieten, Lua-statistieken wanneer extensie Scribunto is ingeschakeld en parser cache-informatie. | MW 1.28+ (git #316207) | {limitreport: {...}, scribunto: {...}, cachereport: {...}} |
wgRedirectedFrom |
String | Bij een doorverwijzing bevat het de titel van de pagina waarvandaan is doorverwezen. Als de pagina niet is doorverwezen, wordt de waarde volledig weggelaten (afwezig in mw.config ). Gebruikt hetzelfde formaat als wgPageName . |
MW 1.19+ (r104668) | null |
wgRelevantPageName |
String | De volledige naam van de pagina waarop inhoudsacties en navigatielinks (bv. tabbladen voor een blad) van toepassing zijn. 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 |
Tekst of niet gedefinieerd | De relevante naam van de gebruiker waarop inhoudsacties en enkele extra navigatielinks (bijv. link naar gebruikersrechten of gebruikersbijdragen) van toepassing zijn. | MW 1.23+ (git #88773) | null |
wgRelevantPageIsProbablyEditable |
boolean | Als wgIsProbablyEditable , maar toegepast op de contextueel relevante paginanaam vanaf wgRelevantPageName in plaats van strikt de huidige pagina wordt bekeken. Bijvoorbeeld, wanneer u een pagina "Special:MovePage/Example " bekijkt, geeft dit aan of de onderwerppagina bewerkbaar is. |
MW 1.30+ (git #dbfe9c99) | true |
wgRestrictionEdit |
Array van strings of 'unset' | Als de pagina helemaal bewerkbaar is (en geen speciale pagina is) en het bewerken van de pagina beperkt is tot sommige gebruikersgroepen, bevat het array de minimale gebruikersgroep waarin een gebruiker moet zitten om de pagina te bewerken. Voor semi-beschermde pagina's bevat het ["autoconfirmed"] , voor volledig beschermde pagina's ["sysop"] . Als er geen expliciete beperkingen zijn, is de waarde [] (een array zonder elementen).
Dit array bevat alleen expliciete beveiligingen. 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. Op dergelijke pagina's is de waarde normaal gesproken Als de pagina niet bestaat, wordt de variabele niet ingesteld (heeft geen waarde). |
MW 1.14+ | [] |
wgRestrictionMove |
Array van strings | Als de pagina überhaupt verplaatsbaar is (en geen speciale pagina is) en het verplaatsen van de pagina beperkt is tot enkele gebruikersgroepen, bevat het array de minimale gebruikersgroep waarin een gebruiker moet zitten om de pagina te kunnen verplaatsen. Voor tegen verplaatsen semi-beschermde pagina's bevat het ["autoconfirmed"] , voor volledig beschermde pagina's ["sysop"] . Als er geen expliciete beperkingen zijn, is de waarde [] (een array zonder elementen).
Dit array bevat alleen expliciete beveiligingen. 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. Op dergelijke pagina's is de waarde normaal gesproken |
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, 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 | Voorbeeld uitvoer |
---|---|---|---|---|
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 |
---|---|---|---|
Hoofdpagina | |||
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. NB:
|
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 definities voor de JavaScript-interface (werk in JavaScript-projecten en in populaire IDE's)