Manuel:Interface/JavaScript
MediaWiki et JavaScript |
---|
Diffusion JavaScript |
|
Ajouter JS au wiki |
|
Extensions, habillages et autres modules |
|
Autres sujets |
MediaWiki:Common.js contient le JavaScript qui sera chargé pour tous les utilisateurs. Entrez MediaWiki:Common.js dans la boîte de recherche de votre wiki. Ceci vous dira si la page n'existe pas ; si c'est le cas - et que vous avez les droits utilisateur suffisants - créez la simplement avec le code que vous voulez exécuter. Il existe des pages similaires qui n'impactent que les utilisateurs de certains habillages (voir ci-dessous).
Si $wgAllowUserJs
est mis à true
, les utilisateurs peuvent personnaliser l'interface uniquement pour eux-mêmes en créant et en important des scripts personnels dans certaines sous-pages utilisateur.
Extension:Gadgets rend plus facile le partage de JavaScript aux administrateurs de site et aux utilisateurs, voir Cuisine des Gadgets .
Cette page couvre les variables d'état et les paramètres de configuration disponibles. Pour l'API JavaScript générale, voir la documentation générée.
Liste des pages JavaScript
Note that any scripts or gadgets won't load on Special:Preferences itself, or if safemode is used.
Scripts globaux
- MediaWiki:Common.js - s'applique à tous les habillages, mais ignorés par le site Web mobile fourni par Extension:MobileFrontend
- MediaWiki:skinname.js - s'applique à un habillage particulier, par exemple MediaWiki:Vector.js
- MediaWiki:Group-group.js - s'applique à un groupe particulier d'utilisateurs, par exemple MediaWiki:Group-sysop.js
- MediaWiki:Mobile.js - s'applique au site web mobile; fourni par Extension:MobileFrontend
- Special:Gadgets - peut être activé par tout utilisateur dans Preferences , ou peut être activé par défaut sur tous les utilisateurs ; fourni par Extension:Gadgets
Scripts personnels
Ils ne sont disponibles que si $wgAllowUserJs
est initialisé à true
.
- User:Example/common.js - tous les habillages - introduit dans MW v1.17
- User:Example/skinname.js - par habillage, par exemple User:Example/vector.js ; toujours en minuscules)
- User:Example/global.js - par Manuel:Famille de wikis , si Extension:GlobalCssJs est utilisé dans cette famille
Pour faciliter la programmation JavaScript, le logiciel MediaWiki expose un certain nombre de valeurs de configuration dans un objet appelé mw.config .
- Pour des raisons historiques, ces noms sont exposés comme des variables JavaScript globales si
$wgLegacyJavaScriptGlobals
vauttrue
, ils utilisent donc un préfixe pour éviter les interférences. - Une partie de ces noms correspond à des $variables wg en PHP, mais d'autres sont sans rapport.
- Outre les noms figurant dans cette liste, de nombreuses extensions définissent également des variables de configuration JavaScript supplémentaires préfixées par wg.
Ces valeurs sont accessibles via mw.config
, documenté dans ResourceLoader/Core modules.
Sur tout le site
Nom | Type | Description | Disponibilité | 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 | Nom interne de l'habillage actuellement utilisé. | MW 1.8+: all skins and pages |
MW <1.7 (monobook skin)vector |
stylepath
|
String | URL complète vers le répertoire racine des habillages, contenant des feuilles de style et des scripts spécifiques à ces derniers. Le chemin ne contient pas le sous-répertoire des habillages, et ne se termine pas par un "/". | MW 1.8+: all skins and pages |
MW <1.7 (monobook skin)/w/skins |
wgArticlePath
|
String | Chemin local, partant de la racine, vers les articles de référence, contenant un espace réservé "$1" qui peut être remplacé par un titre de page pour obtenir une URL valide vers cette page. Avec un titre de page valide title , une URL valide peut être construite en utilisant wgArticlePath.replace('$1', title) . Voir aussi $wgArticlePath .
|
MW 1.8+ | /wiki/$1 |
wgCaseSensitiveNamespaces
|
Array | Les ID des espaces de noms traités comme sensibles à la casse par MediaWiki. Déterminé par les valeurs des variables de configuration $wgCapitalLinks et $wgCapitalLinksOverrides .
|
r90234) | MW 1.18+ ([] |
wgContentLanguage
|
String | The language code for the default content language of the wiki. | MW 1.8+ | en |
wgContentNamespaces
|
Tableau d'entiers | Les ID des espaces de noms considérés comme des "espaces de noms de contenu" par MediaWiki. Equivalent à la valeur de la variable de configuration $wgContentNamespaces , avec 0 inclus s'il ne l'est pas déjà.
|
git #3d87e3a8) | MW 1.23+ ([100, 102, 104, 106, 0] |
wgDBname
|
String | Le nom de la base de données du wiki. | MW 1.13+ | mediawikiwiki |
wgWikiID
|
String | Identifiant du wiki. À utiliser de préférence par rapport à wgDBname .
|
d45baf7f0734) | MW 1.34+ (mediawikiwiki |
wgExtensionAssetsPath
|
String | Chemin racine utilisé pour les ressources statiques d'extension (par exemple, images). Ajoutez '/' puis le nom de l'extension pour obtenir le chemin racine d'une extension donnée. | r82247) | MW 1.18+ (/w/extensions |
wgFormattedNamespaces
|
Object | Donne un schéma de correspondance entre les ID d'espaces de noms pour les noms d'espaces de noms localisés. Pour chaque espace de noms, l'objet possède une entrée dont la clé est le numéro de l'espace de noms et la valeur le nom de l'espace de noms. Les alias ou les noms canoniques ne sont pas inclus. | MW 1.16+ | {0: '', 1: 'Talk:', 2: 'User', ... } |
wgNamespaceIds
|
Object | Donne une correspondance entre les espaces de noms et les ID des espaces de noms. Pour chaque nom d'espace de noms, y compris les noms traduits, les noms canoniques et les alias, l'objet possède une entrée dont la clé est le nom de l'espace de noms, et la valeur entière est l'ID de l'espace de noms. Les clés sont toutes en minuscules, les espaces étant remplacés par des caractères de soulignement. | MW 1.16+ | {media: -2, special: -1, "": 0, talk: 1, user: 2, ... } |
wgScript
|
String | Chemin complet vers le script principal du point d'accès, en commençant par la racine, y compris le nom complet du script avec l'extension. Sur les wikis WMF, normalement "/w/index.php". Voir aussi $wgScript . | MW 1.11+ | /w/index.php |
wgScriptPath
|
String | Partie chemin de wgScript , sans le / de fin. Chemin à utiliser pour les appels directs au point de connexion php tel que index.php ou api.php . Voir aussi $wgScriptPath .
|
MW 1.8+ | /w |
wgServer
|
String | URL du serveur, sans le / de fin. La combinaison wgServer + wgScriptPath + "/api.php" par exemple, résulte en une URL valide vers le script du point de connexion de l'API.
|
MW 1.8+ | //www.mediawiki.org |
wgServerName
|
String | Nom du serveur sans le protocole ni la barre oblique finale '/' (par exemple, « fr.mediawiki.org » ). | 72c0ce43a854) | MW 1.24+ (www.mediawiki.org |
wgSiteName
|
String | Nom du site tel que défini par $wgSitename . | MW 1.16+ | MediaWiki |
wgVariantArticlePath
|
String or false
|
Si un wiki possède des variantes de langue (commme les Wikipedias chinoises et serbes), initialiser la valeur avec un chemin commençant à la racine pour les variantes différentes de wgContentLanguage . Le chemin contient deux jokers : $1 doit être remplacé par le titre de la page, et $2 par le code de langue de la variante (par exemple zh-tw). Mettre à false si le wiki n'a pas de variantes de langue. Voir aussi $wgVariantArticlePath .
|
MW 1.13+ | false |
wgVersion
|
String | Identifie la version de MediaWiki qui distribue la page. | MW 1.12+ | 1.42.0-wmf.26 |
Toutes les pages (spécifiques à l'utilisateur ou la page)
Nom | Type | Description | Disponibilité | Example output |
---|---|---|---|---|
wgAction
|
String | Action réalisée, par exemple edit pour les pages de modification, ou view pour les vues de pages. Voir les Actions dans le manuel des paramètres de index.php. | MW 1.10+ | view |
wgArticleId
|
Integer | ID interne de la page. Pour les pages qui n'existent pas ainsi que pour les pages spéciales, il vaut zéro. | MW 1.8+ | 17317 |
wgCanonicalNamespace
|
String | Nom canonique namespace de la page (c'est à dire ni traduit ni étant un alias). | MW 1.8+ | Manual |
wgCanonicalSpecialPageName
|
chaîne, ou false , ou non défini
|
Sur les pages spéciales, le nom canonique (c'est-à-dire non localisé ou aliasé) de la page spéciale ; sinon, il est fixé à false (depuis MW 1.16 ; auparavant pas du tout défini dans ce cas).
|
MW 1.9+ | false |
wgCategories
|
Array of strings | Liste de toutes les catégories auxquelles une page appartient. Ceci est essentiellement une version JavaScript de la boîte des catégories affichée sur la page (boîte grise au bas de la page pour un habillage Monobook ou Vector). Si la boîte des catégories n'apparaît pas sur la page courante (comme c'est le cas lorsque l'on édite ou que l'on affiche l'historique), wgCategories est un tableau vide. Ceci n'est pas disponible dans MobileFrontend, que le mode avancé soit activé ou désactivé.
|
MW 1.16+ | ['JavaScript'] |
wgCurRevisionId
|
Integer | ID de la plus grande version de la page actuellement affichée au moment où cette page a été servie. Positionné également sur les pages des diffs et d'historique; zéro pour les pages spéciales. | 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 si la page est une redirection vers une page de wiki qui utilise un #REDIRECT [[nom de page cible]] . Vaut false pour tout autre chose (pages normales, spéciales, la plupart des pages générées, etc.).
|
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
|
Entier | L'ID de révision de la révision actuellement visualisée, ou la bonne révision pour les vues diff (Mais 0 quand diffonly=yes, tâche T231744). Également défini sur les pages de différences ; zéro pour les pages spéciales, les pages d'historique, ou tout autre endroit inapplicable. | MW 1.22+ git #7fa7b71e | 6400980 |
wgSearchType
|
Chaîne ou non défini | Le nom du moteur de recherche utilisé pour exécuter les demandes de recherche. | MW 1.23+ (git #118655) | CirrusSearch |
wgTitle
|
chaîne | Le titre de la page, sans espace de nom. Peut contenir des espaces - ne contient pas de caractères de mise en évidence. Pour obtenir le titre incluant l'espace de nom, utilisez wgPageName .
|
MW 1.8+ | Interface/JavaScript |
Relatif à l'utilisateur qui consulte actuellement la page :
Nom | Type | Description | Disponibilité | Example output |
---|---|---|---|---|
wgUserEditCount
|
Entier | Le nombre de modifications apportées par l'utilisateur actuel (nul si non connecté). | MW 1.21+ | 556 |
wgUserGroups
|
Tableau de chaînes | Une liste contenant tous les groupes d'utilisateurs (locaux) dont l'utilisateur actuel est membre, ou null pour les utilisateurs non connectés. Les groupes d'utilisateurs sont identifiés par les noms des groupes d'utilisateurs internes, par exemple "sysop", "autoconfirmed", "bureaucrat", et ainsi de suite. Le groupe d'utilisateurs par défaut se nomme "*".
|
MW 1.10+ | ['autopatrolled', '*', 'user', 'autoconfirmed'] |
wgUserId
|
Entier | L'ID numérique de l'utilisateur actuel (nul si non connecté). | MW 1.21+ | 12311063 |
wgUserLanguage
|
Chaîne | Le code de la langue de l'interface de l'utilisateur, tel qu'il est défini dans Special→Preferences (qui peut être remplacé par un paramètre uselang= dans l'URL).
|
MW 1.8+ | en |
wgUserName
|
Chaîne | Le nom d'utilisateur de l'utilisateur qui consulte actuellement la page, s'il s'agit d'un utilisateur connecté. Pour les utilisateurs non connectés, c'est null (pas l'adresse IP de l'utilisateur, contrairement à PHP $wgUser->getName() sur le serveur).
|
MW 1.8+ | Your Username |
wgUserRegistration
|
Entier | L'heure et la date auxquelles l'utilisateur actuel s'est enregistré, représentées en millisecondes depuis l'époque. Nul si non connecté. | MW 1.21+ | 1514273653000 |
Quelques pages
Certaines variables supplémentaires sont présentes uniquement en fonction de l'espace de nom de la page, de la configuration du wiki et/ou des préférences de l'utilisateur.
Nom | Type | Description | Disponibilité |
---|---|---|---|
Main Page | |||
wgIsMainPage
|
booléen | true si la page actuelle est la page principale du wiki. Omis entièrement sinon (par défaut, null dans mw.config ).
|
MW 1.18+ |
Si la langue du contenu a des variantes : | |||
wgUserVariant
|
Chaîne | Si le wiki a des variantes de langue, le code de langue de la variante préférée de l'utilisateur. Si le wiki n'a pas de variantes, la variable n'est pas configurée (n'existe pas), c'est-à-dire : mw.config.exists( 'wgUserVariant' ); // false mw.config.get( 'wgUserVariant' ); // null .
|
MW 1.16+ |
Après avoir enregistré une modification | |||
wgPostEdit
|
Chaîne | "saved" si l'utilisateur vient d'enregistrer cette page. "created" si l'utilisateur vient de créer cette page. "restored" si l'utilisateur vient de restaurer cette page en accédant à la page d'historique, clique sur un lien d'horodatage pour une ancienne révision, clique sur modifier puis sauvegarde. null sinon. Note that:
|
MW 1.21+ (gerrit:50480) |
Lors de la comparaison des révisions | |||
wgDiffOldId
|
Integer | ID de révision de « l'ancienne » révision lors de la visualisation d'un diff. Uniquement disponible lors de l'affichage d'une comparaison de révision. | MW 1.30+ (git #a469795e) |
wgDiffNewId
|
Integer | ID de révision de la « nouvelle » révision lors de l'affichage d'un diff. Uniquement disponible lors de l'affichage d'une comparaison de révision. | MW 1.30+ (git #a469795e) |
Page spécifique (extension Wikibase)
Certaines informations supplémentaires seront disponibles lorsque le site prend en charge Wikibase :
Nom | Type | Description | Disponibilité |
---|---|---|---|
wgWikibaseItemId
|
Chaîne | L'ID d'élément Wikibase de la page actuelle. Actuellement, en mode édition, cette variable n'est pas définie. Voir phab:T185437. | ? |
Accroches pour les extensions
- ResourceLoaderGetConfigVars - Depuis MediaWiki 1.17, les extensions peuvent ajouter leurs propres variables à l'échelle du site via ce hook.
- MakeGlobalVariablesScript - Puisque les extensions MediaWiki 1.14 peuvent ajouter leurs propres variables au OutputPage. Si la variable ne dépend pas de la page affichée, utilisez plutôt le hook ResourceLoaderGetConfigVars .
Voir aussi
- How to enhance wiki content with JavaScript
- TypeScript definitions for the JavaScript interface (work in JavaScript projects as well in popular IDEs)