Jump to content
MediaWiki

Manuel:Interface/JavaScript

From mediawiki.org
This page is a translated version of the page Manual:Interface/JavaScript and the translation is 100% complete.
MediaWiki et JavaScript
Diffusion JavaScript
Ajouter JS au wiki
Extensions, habillages et autres modules
Autres sujets
Catégorie de tout ce qui est JavaScript
Apprendre JavaScript
CORS
Scripts cassés
Développement noyau: conventions de codage et tests unitaires
Documents techniques sur doc.wikimedia.org
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

Tout script ou gadgets ne vont pas se charger sur Special:Preferences lui-même, ou si le safemode est utilisé.

Scripts globaux

Scripts personnels

Ils ne sont disponibles que si $wgAllowUserJs est initialisé à true.

Pour faciliter la programmation JavaScript, le logiciel MediaWiki expose un certain nombre de valeurs de configuration dans un objet appelé mw.config .

La plupart de ces variables ont un préfixe wg.
  • Ces noms étaient déclarés précédemment comme des variables JavaScript globales si $wgLegacyJavaScriptGlobals vaut true; 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, false et true étaient utilisés (phab:T85805).

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 [], à moins que des protections supplémentaires aient été appliquées particulièrement à cette page.

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 [], à moins que des protections supplémentaires aient été appliquées particulièrement à cette page.

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 :
  1. avec les modifications nulles, la valeur est null, non sauvegardé
  2. Avec l'annulation, la valeur est sauvegardé
  3. Lors de la restauration, il s'agit de null
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

Voir aussi

AltStyle によって変換されたページ (->オリジナル) /