Manuel:Interface/JavaScript
MediaWiki et JavaScript |
---|
Diffusion JavaScript |
|
Ajouter JS au wiki |
|
Extensions, habillages et autres modules |
|
Autres sujets |
v · d · e |
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
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 .
- Ces noms étaient déclarés précédemment comme des variables JavaScript globales si
$wgLegacyJavaScriptGlobals
vauttrue
; ils utilisent donc un préfixe pour éviter les collisions. - 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é | Exemple de sortie |
---|---|---|---|---|
debug
|
Entier (1.36+) / Booléen (-1.35) | Depuis MediaWiki 1.36+, 0 signifie que le mode debug n'est pas activé, et un nombre strictement positif signifie qu'il est activé (par exemple 1 ou 2 ).
Dans MediaWiki 1.35 et plus ancien, |
1.17MW 1.17+ | 0 |
skin
|
Chaîne | Nom interne de l'habillage actuellement utilisé. | 1.18MW <1.7 (habillage monobook) MW 1.8+: all skins and pages |
vector |
stylepath
|
Chaîne | 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 "/". | 1.18MW <1.7 (habillage monobook) MW 1.8+: tous habillages et pages |
/w/skins |
wgArticlePath
|
Chaîne | Chemin local, partant de la racine, vers les articles de référence, contenant un joker "1ドル" qui peut être remplacé par le titre d'une page pour obtenir l'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 .
|
1.08MW 1.8+ | /wiki/1ドル |
wgCaseSensitiveNamespaces
|
Tableau | 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 .
|
1.18MW 1.18+ (r90234 ) | [] |
wgContentLanguage
|
Chaîne | Le code de langue pour la valeur par défaut content language du wiki. | 1.08MW 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. Équivalent à la valeur de la variable de configuration $wgContentNamespaces , avec 0 inclus s'il ne l'est pas déjà.
|
1.23MW 1.23+ (git #3d87e3a8) | [100, 102, 104, 106, 0] |
wgDBname
|
Chaîne | Le nom de la base de données du wiki. | 1.13MW 1.13+ | mediawikiwiki |
wgWikiID
|
Chaîne | Identifiant du wiki. À utiliser de préférence par rapport à wgDBname .
|
1.34MW 1.34+ (d45baf7f0734) | mediawikiwiki |
wgExtensionAssetsPath
|
Chaîne | 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. | 1.18MW 1.18+ (r82247 ) | /w/extensions |
wgFormattedNamespaces
|
Objet | Donne un schéma de correspondance entre les ID des espaces de noms et les noms traduits de ces espaces de noms. 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. | 1.16MW 1.16+ | {0: '', 1: 'Talk', 2: 'User', ... } |
wgNamespaceIds
|
Objet | Donne une correspondance entre les noms des espaces de noms et les ID correspondants. 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 et les caractères espace sont remplacés par des caractères de soulignement. | 1.16MW 1.16+ | {media: -2, special: -1, "": 0, talk: 1, user: 2, ... } |
wgScript
|
Chaîne | 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 . | 1.11MW 1.11+ | /w/index.php |
wgScriptPath
|
Chaîne | 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 .
|
1.08MW 1.8+ | /w |
wgServer
|
Chaîne | 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.
|
1.08MW 1.8+ | //www.mediawiki.org |
wgServerName
|
String | Nom du serveur sans le protocole ni la barre oblique finale '/' (par exemple, « fr.mediawiki.org » ). | 1.24MW 1.24+ (72c0ce43a854) | www.mediawiki.org |
wgSiteName
|
String | Nom du site tel que défini par $wgSitename . | 1.16MW 1.16+ | MediaWiki |
wgVariantArticlePath
|
Chaîne ou 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 .
|
1.13MW 1.13+ | false |
wgVersion
|
Chaîne | Identifie la version de MediaWiki qui distribue la page. | 1.12MW 1.12+ | 1.42.0-wmf.26 |
wgMFMode
|
Boolean | Whether the current web response was formatted for a mobile device (e.g. by MobileFrontend based on user agent, URL param, or cookie). Only boolean use is supported. In practice it is undefined or string, and the exact string is considered internal. This may become a real boolean in the future. | MW 1.21+ (change 52270, T390923, T299772) |
Toutes les pages (spécifiques à l'utilisateur ou la page)
Nom | Type | Description | Disponibilité | Exemple de sortie |
---|---|---|---|---|
wgAction
|
Chaîne | 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
|
Entier | 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
|
Chaîne | 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é ni défini par un alias) de la page spéciale ; sinon, il est fixé à false (depuis MW 1.16 ; auparavant pas défini du tout dans ce cas).
|
MW 1.9+ | false |
wgCategories
|
Tableau de chaînes | 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
|
Entier | 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
|
booléen | true si la page affiche le contenu d'une page wiki, par exemple lorsqu'on affiche une page (indépendamment de l'espace de noms), ou une ancienne version ou un diff avec le contenu mis en forme en-dessous. Il s'agit de false pour tout autre élément (formulaire de modification, page historique, pages spéciales, pages générées le plus souvent, etc.).
Cette variable est mal nommée – elle n'est pas liée à une page destinée à être un article de l'espace de noms principal.
|
MW 1.8+ | true |
wgIsProbablyEditable
|
booléen | True si la page est potentiellement modifiable (basé sur Title::quickUserCan ) par l'utilisateur actuel. 'probablement' est nécessaire pour des raisons de performance. Un contrôle exact sur la possibilité de modifier est trop coûteux ici à cause des protections en cascade et aux extensions basées sur les accroches telles que TitleBlacklist qui peuvent être actives. S'il vaut true , alors la modification est possible. Si la valeur est false , alors la modification n'est plus possible.
|
(git #0bbc3589) | true |
wgIsRedirect
|
booléen | 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
|
Entier | Numéro de l'espace de noms dans laquelle se trouve la page. | MW 1.8+ | 100 |
wgPageContentLanguage
|
Chaîne | Code de langue de page content language (selon $context->getTitle()->getPageLanguage() )
|
MW 1.19+ (r104483 ) | en |
wgPageContentModel
|
Chaîne | 'wikitext' sur les pages wiki typiques, 'javascript' sur les pages interprétées par JavaScript, 'css' sur les pages interprétées par CSS, 'Scribunto' sur les pages interprétées par Scribunto (Lua).
|
1.16MW 1.22+ (gerrit:62178) | wikitext |
wgPageName
|
Chaîne | Le nom complet de la page, y compris le nom traduit de l'espace de noms, si l'espace de noms lui-même a un nom (l'espace de noms principal (dont le numéro est 0) n'en n'a pas), et avec les espaces remplacés par le caractère de soulignement. Pour obtenir uniquement le titre sans l'espace de noms, utiliser wgTitle .
|
MW 1.8+ | Manual:Interface/JavaScript |
wgPageParseReport
|
Objet | Rapport sur la limite de l'analyse syntaxique de la page quand les données d'analyse sont disponibles. Comprend les données à propos des limites de l'analyseur, les statistiques Lua si l'extension Scribunto est activée et les informations du cache de l'analyseur. | MW 1.28+ (git #316207) | {limitreport: {...}, scribunto: {...}, cachereport: {...}} |
wgRedirectedFrom
|
Chaîne | Contient le titre de la page qui a redirigé (dans le cas d'une redirection). Si la page n'a pas été redirigée, la valeur est omise complètement (absent de mw.config ). Utilise le même format que wgPageName .
|
MW 1.19+ (r104668 ) | null |
wgRelevantPageName
|
Chaîne | Nom complet de la page à laquelle les actions sur le contenu et les liens de navigation (par exemple les onglets d'un habillage) sont appliqués. La fonction de suivi AJAX utilise cela pour fonctionner correctement sur les pages spéciales telles que Special:MovePage et Special:WhatLinksHere. | MW 1.19+ (r113737 ) | Manual:Interface/JavaScript |
wgRelevantUserName
|
Chaîne ou non défini | Le nom associé de l'utilisateur auquel les actions sur le contenu et certains liens de navigation supplémentaires (comme le liens vers les droits utilisateur ou ses contributions) sont appliqués. | MW 1.23+ (git #88773) | null |
wgRelevantPageIsProbablyEditable
|
booléen | Comme wgIsProbablyEditable , mais appliqué au nom de la page associée contextuellement de wgRelevantPageName au lieu d'être strictement la page actuelle affichée. Par exemple, lors de l'affichage d'une page Special:MovePage/Example cela indiquera si la page du sujet est modifiable.
|
MW 1.30+ (git #dbfe9c99) | true |
wgRestrictionEdit
|
Tableau de chaînes ou non défini | Si la page est modifiable en totalité (et n'est pas une page spéciale) et que la modification de la page est limitée à certains groupes utilisateur, le tableau contient le groupe utilisateur minimal auquel l'utilisateur doit appartenir pour pouvoir modifier la page. Pour les pages semi-protégées, il contient ["autoconfirmed"] et pour les pages protégées complètement, ["sysop"] . S'il n'y a pas de restrictions explicites, la valeur est [] (un tableau sans élément).
Ce tableau ne contient que des protections explicites. Les protections sur l'ensemble de l'espace de noms (comme celui de MediaWiki, $wgNamespaceProtection ), les protections en cascade, ou les protections apportées par l'attribut noedit de l'extension TitleBlacklist , sont ignorées par ce tableau. Sur de telles pages, la valeur est habituellement Si la page n'existe pas, la variable n'est pas définie. |
MW 1.14+ | [] |
wgRestrictionMove
|
Tableau de chaînes | Si la page est renomable (et n'est pas une page spéciale) et que le renommage est limité à certains groupes d'utilisateurs, le tableau contient le groupe utilisateur minimal auquel l'utilisateur doit appartenir pour pouvoir renommer la page. Pour les pages semi-protégées contre le renommage, il doit contenir ["autoconfirmed"] et ["sysop"] si les pages complètement protégées. S'il n'y a pas de restrictions explicites, la valeur est [] (un tableau sans élément).
Ce tableau ne contient que les protections explicites. Les protections sur l'ensemble de l'espace de noms (comme celui de MediaWiki, $wgNamespaceProtection ), les protections en cascade, ou les protections apportées par l'attribut moveonly de l'extension TitleBlacklist , sont ignorées par ce tableau. Sur de telles pages, la valeur est habituellement |
MW 1.14+ | [] |
wgRevisionId
|
Entier | L'ID de révision de la révision actuellement visualisée, ou la révision correcte pour les vues diff (mais 0 quand diffonly=yes, T231744). Également défini sur les pages des diff ; 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 l'espace de noms. Peut contenir des espaces - ne contient pas de caractères de soulignement. Pour obtenir le titre incluant l'espace de noms, utiliser wgPageName .
|
MW 1.8+ | Interface/JavaScript |
Relatif à l'utilisateur qui consulte actuellement la page :
Nom | Type | Description | Disponibilité | Exemple de sortie |
---|---|---|---|---|
wgUserEditCount
|
Entier | Le nombre de modifications apportées par l'utilisateur actuel (nul si non connecté). | 1.21MW 1.21+ | 556 |
wgUserGroups
|
Tableau de chaînes | Un tableau 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é). | 1.21MW 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).
|
1.08MW 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é. | 1.21MW 1.21+ | 1514273653000 |
Quelques pages
Certaines variables supplémentaires sont présentes uniquement en fonction de l'espace de noms de la page, de la configuration du wiki et/ou des préférences de l'utilisateur.
Nom | Type | Description | Disponibilité |
---|---|---|---|
Page d'accueil | |||
wgIsMainPage
|
booléen | true si la page actuelle est la page d'accueil 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, cliqué sur un lien horodaté d'une ancienne révision, cliqué sur modifier puis sauvegardé. null sinon. Noter que :
|
MW 1.21+ (gerrit:50480) |
Lors de la comparaison des révisions | |||
wgDiffOldId
|
Entier | ID de l' « ancienne » révision lors de la visualisation d'un diff. Uniquement disponible lors de l'affichage d'une comparaison de révisions. | MW 1.30+ (git #a469795e) |
wgDiffNewId
|
Entier | ID de la « nouvelle » révision lors de l'affichage d'un diff. Uniquement disponible lors de l'affichage d'une comparaison de révisions. | MW 1.30+ (git #a469795e) |
Page spécifique (extension Wikibase)
Certaines informations supplémentaires seront disponibles lorsque le site prendra 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 gobales au site via cette accroche.
- 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 l'accroche ResourceLoaderGetConfigVars .
Voir aussi
- How to enhance wiki content with JavaScript
- Définitions TypeScript pour l'interface JavaScript (fonctionne dans les projets JavaScript et dans les IDE populaires)