Manual:Interface/JavaScript

From MediaWiki.org
Jump to: navigation, search

MediaWiki:Common.js contains JavaScript that will be loaded for all users. This file is loaded for all users, but there are similar files affecting only users of specific skins (see below).

If $wgAllowUserJs is set to true, users can customize the interface for themselves only by creating user subpages with lowercase titles (see below).

Contents

[edit] List of JavaScript pages

[edit] Global scripts

[edit] Personal scripts

They're only available if $wgAllowUserJs is set to true.

[edit] mw.config

For the benefit of easier JavaScript programming, the MediaWiki software exposes a number of configuration variables into an object called mw.config.

[edit] Site-wide

Name Type Description Availability
debug Boolean MW 1.17+
skin String The internal name of the currently used skin. The "Classic" skin is called "standard". MW <1.7 (monobook skin)
MW 1.8+: all skins and pages
stylepath String Full URL to the root directory for skins, containing stylesheets and skin-specific scripts. The path does not contain the skin subdirectory, and is not terminated by a "/". MW <1.7 (monobook skin)
MW 1.8+: all skins and pages
wgActionPaths Object See $wgActionPaths. The value is either an empty object, or otherwise has entries for each defined actionpath of the form 'action' : 'path'. So wgActionPaths['edit'] will return the "pretty path" for the edit action, if any is defined. MW 1.13+
wgArticlePath String Local path, starting at the root, to reference articles, containing a "$1" placeholder that may be replaced by a page title to get a valid URL to that page. Given a valid page title title, a valid URL may be constructed using wgArticlePath.replace('$1', title). See also $wgArticlePath. MW 1.8+
wgAvailableSkins Object MW 1.18+ (r80791)
wgCaseSensitiveNamespaces Array MW 1.18+ (r90234)
wgContentLanguage String The language code for the default content language of the wiki. MW 1.8+
wgCookiePrefix String MW 1.18+ (r86580)
wgDBname String The name of the wiki's database. MW 1.13+
wgEnableAPI Boolean true if the Mediawiki API is enabled at all; false otherwise. MW 1.12+
wgEnableWriteAPI Boolean true if the Mediawiki write API is enabled at all; false otherwise. If wgEnableAPI && !wgEnableWriteAPI, only the read operations of the API are enabled. MW 1.12+
wgExtensionAssetsPath String MW 1.18+ (r82247)
wgFileExtensions Array of strings The list of all allowed file extensions (without period). MW 1.16+
wgFormattedNamespaces Object Gives a mapping from namespace IDs to localized namespace names. For each namespace, the object has one entry that has the stringified namespace number as the key and the namespace name as its value. Aliases or canonical names are not included. MW 1.16+
wgLegacyJavaScriptGlobals Boolean MW 1.18+ (r87856)
wgLoadScript String MW 1.17+
wgMainPageTitle String The page name of the wiki's main page, including the namespace name, if any. May contain blanks. MW 1.16+
wgNamespaceIds Object Gives a mapping from namespace names to namespace IDs. For each namespace name, including aliases, the object has one entry that has namespace name as the key and the namespace ID as its integer value. Canonical names are not included. The keys are all lowercase, with blanks replaced by underscores. MW 1.16+
wgResourceLoaderMaxQueryLength Number MW 1.18+ (r87203)
wgScript String Full path to the main entry point script, starting at the root, including the full script name with extension. On WMF wikis, normally "/w/index.php". See also $wgScript. MW 1.11+
wgScriptExtension String The extension part to use for all calls to script entry points. Normally ".php". See also $wgScriptExtension. MW 1.16+
wgScriptPath String The path part of wgScript, without trailing "/". This is the path to use for direct calls to the php entry points such as index.php or api.php. See also $wgScriptPath. MW 1.8+
wgServer String The server URL, not terminated by "/". The combination wgServer + wgScriptPath + "/api.php", for instance, results in a valid URL to the API entry point script. MW 1.8+
wgSiteName String The name of the site, as defined by $wgSitename. MW 1.16+, but not on 1.16alpha-wmf
wgUrlProtocols String Stringified regular expression matching all protocols recognized in links, i.e. "http\\:\\/\\/|https\\:\\/\\/|..." MW 1.16+
wgUserLanguage String The language code for the user's interface language, as set in Special→Preferences (which may be overridden by a uselang= parameter in the URL). MW 1.8+
wgVariantArticlePath String or false If a wiki has language variants (such as the Chinese and the Serbian Wikipedias), set to a path beginning at the root for language variants other than wgContentLanguage. The path contains two placeholders: "$1" is to be replaced by the page title, and "$2" is to be replaced by the language code of the language variant (e.g. "zh-tw"). If the wiki does not have language variants, set to false. See also $wgVariantArticlePath. MW 1.13+
wgVersion String Identifies the version of MediaWiki that served the page. MW 1.12+

Some additional site-wide variables are present only depending on the wiki configuration.

Name Type Description Availability
If $wgUseAjax and $wgEnableMWSuggest are true:
wgMWSuggestTemplate String A URL that can be used to obtain search suggestions. The string contains two placeholders that should be replaced: {searchTerms} is to be replaced by the (urlencoded) search terms, and {namespaces} should be replaced by the namespace numbers of the namespaces to search, separated by a vertical bar ("|"). MW 1.13+
If the Ajax watch feature is enabled, the following variable is available:
wgAjaxWatch (deprecated) Object An object containing various user interface messages, localized to wgUserLanguage. MW 1.11 - MW 1.17 (r88511)

[edit] Page-specific

Name Type Description Availability
wgAction String The action performed, e.g. "edit" for edit pages, or "view" for page views. MW 1.10+
wgArticleId Integer The internal ID of the article, if the page is an article. For special pages it is zero. MW 1.8+
wgBreakFrames Boolean See $wgBreakFrames. MW 1.9+
wgCanonicalNamespace String The canonical (i.e., not localized or aliased) namespace name of the page. MW 1.8+
wgCanonicalSpecialPageName String or false or not defined On special pages, the canonical (i.e., not localized or aliased) name of the special page; otherwise it is not defined at all (up to and including MW 1.15) or is set to false (since MW 1.16). MW 1.9+
wgCategories Array of strings For an article, the list of all the categories it belongs to. This seems to be still experimental; it was introduced during the development of a not-yet released jQuery-based Ajax category editor. MW 1.16+, but not on 1.16alpha-wmf
wgCurRevisionId Integer The top revision ID of the currently viewed page at the time the page was served. Also set on diff and history pages; zero for special pages. MW 1.9+
wgDefaultDateFormat String E.g. "dmy". Depends on the page content language since 1.20 (gerrit:14271). MW 1.18+ (r86088)
wgDigitTransformTable Array of two strings Describes digit transformations. If transformations are specified, the first entry contains a string of all Arabic digits ("0123456789"), the second array element gives in the corresponding string positions the replacement according to wgPageContentLanguage. If no transformation is specified for the language, the value of wgDigitTransformTable is ["", ""] (i.e., an arry of two empty strings). MW 1.12+
wgIsArticle Boolean true if the page is an article: in general, a page stored in the database and that can basically (modulo page protections) be edited. For special pages and most generated pages, it is false. Note: it is also true for diff pages (if two versions of the same page are compared, and that page is an article), but false for history pages. MW 1.8+
wgNamespaceNumber Integer The number of the namespace the page is in. MW 1.8+
wgMonthNames Array Like January, February, ... Depends on the page content language since 1.20 (gerrit:14271). MW 1.18+ (r86088)
wgMonthNamesShort Array Like Jan, Feb, ... Depends on the page content language since 1.20 (gerrit:14271). MW 1.18+ (r86088)
wgPageContentLanguage String Language code of the page content language (according to $context->getTitle()->getPageLanguage()) MW 1.19+ (r104483)
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 blanks replaced by underscores. MW 1.8+
wgRedirectedFrom String When redirected contains the title of the page we were redirected from. null when not redirected. Uses the same format as wgPageName MW 1.19+ (r104668)
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)
wgRestrictionEdit Array of strings 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). Note that it also is [] for pages in the "MediaWiki"-Namespace. It also is not set for pages subject to cascading protections, or for pages that have been "protected" through the TitleBlacklist extension's "noedit" attribute: on such pages, the value is also []. 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). Note that it also is [] for pages in the "MediaWiki"-Namespace. It also is not set for pages subject to cascading protections, or for pages that have been "protected" through the TitleBlacklist extension's "moveonly" attribute: on such pages, the value is also []. MW 1.14+
wgSeparatorTransformTable Array of two strings Describes number separator transformations. The first entry contains a string of all canonical separators (single characters), the second array element gives in the corresponding string positions the replacement according to wgPageContentLanguage. If no transformations are specified, the value of wgSeparatorTransformTable is ["", ""] (i.e., an arry of two empty strings). MW 1.12+
wgTitle String The page title. May contain blanks, does contain neither underscores nor namespace names. MW 1.8+
wgUserGroups Array of strings An array containing all the (local) user groups the current user is a member of, or null for non-logged-in users. User groups are identified by the internal user group names, e.g. "sysop", "autoconfirmed", "bureaucrat", and so on. The default user group is named "*". MW 1.10+
wgUserName String The user name of the user currently viewing the page, if it's a logged-in user. For non-logged-in users, it is null. MW 1.8+

Some additional variables are present only depending on the page namespace, wiki configuration and/or user preferences.

Name Type Description Availability
If the current page is the main page of the wiki:
wgIsMainPage Boolean MW 1.18+
If the content language has variants:
wgUserVariant String If the wiki has language variants, the language code of the user's preferred variant. If the wiki does not have variants, the variable is not configured (does not exist), i.e.:
mw.config.exists( 'wgUserVariant' ); // false
mw.config.get( 'wgUserVariant' ); // null.
MW 1.16+
If the Ajax search suggestions are enabled (both globally and in the user's preferences), the following variables are available:
wgSearchNamespaces Array of integers An array of the namespace numbers of all namespaces to search by default, according to the user's preferences. MW 1.13+
wgMWSuggestMessages (deprecated) Array of strings Some localized user interface texts that may be used by the search suggestion engine. MW 1.13 - MW 1.16
If the live preview is enabled, some MediaWiki versions may provide the following variables. (Note: it appears that these variables have been pulled in MW 1.16).
wgLivepreviewMessageLoading (deprecated) String The contents of MediaWiki:Livepreview-loading for wgUserLanguage. MW 1.10-1.15
wgLivepreviewMessageReady (deprecated) String The contents of MediaWiki:Livepreview-ready for wgUserLanguage. MW 1.10-1.15
wgLivepreviewMessageFailed (deprecated) String The contents of MediaWiki:Livepreview-failed for wgUserLanguage. MW 1.10-1.15
wgLivepreviewMessageError (deprecated) String The contents of MediaWiki:Livepreview-error for wgUserLanguage. MW 1.10-1.15

[edit] Hooks for extensions

Personal tools
Namespaces

Variants
Actions
Navigation
Support
Download
Development
Communication
Print/export
Toolbox