| MediaWiki and JavaScript |
|---|
| DeliveryJavaScript |
|
| Adding JS on-wiki |
|
| Extensions, skins and other modules |
| Further guidance |
| و · ب · و |
MediaWiki:Common.js حاویجاوااسکریپتی است که برای تمام کاربران بارگیری خواهد شد.«MediaWiki:Common.js» را در جعبهٔ جستجوی ویکی خود وارد کنید.اگر صفحه موجود نباشد، به شما خبر میدهد. اگر چنین باشد، و شما دارایاختیارات کاربری لازم هستید، فقط صفحه را با کدی که نیاز به اجرای آن دارید ایجاد کنید.صفحههای مشابهی هستند که تنها بر روی کاربرانپوستهای خاص اثر میگذارند (پایین را ببینید).
اگر$wgAllowUserJs روی «صحیح» تنظیم شود، کاربران میتوانند با ایجاد و درونریزی اسکریپتهای شخصی در زیرصفحههای کاربری مشخص، رابط کاربری را تنها برای خودشان سفارشیسازی کنند.Extension:Gadgets کار را برای کاربران و مدیران جهت اشتراکگذاری جاوااسکریپتها آسان میکند.Gadget kitchen را ببینید.
این صفحه متغیرهای تنظیمان و وضعیت که در دسترس هستند را پوشش میدهد.برای رابط برنامهنویسی اصلی جاوااسکریپت، [$url توضیحات جیاسداک] را ببینید.
تنها در صورتی در دسترس هستند که$wgAllowUserJs خکسtrue تنظیم شود.
جهت تسهیل برنامهنویسی جاوااسکریپت، نرمافزار مدیاویکی تعدادی از مقدارهای تنظیمات را در شیء با نامmw.config ارائه میدهد.
$wgLegacyJavaScriptGlobals، این نامها بهعنوان متغیرهای سراسری ارائه میشوند. بنابراین برای جلوگیری از برخورد، از یک پیشوند استفاده میکنند.این مقدارها بهواسطهٔmw.config قابل دسترسی هستند که دربارگذاریمنبع/پودمانهسته مستندسازی شدهاست.
| نام | نوع | توضیحات | دسترسیپذیری | Example output |
|---|---|---|---|---|
debug | Integer (1.36+) /Boolean (-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 or2).In MediaWiki 1.35 and earlier, | 1.17MW 1.17+ | 0 |
skin | String | نام داخلی پوستهٔ کنونی مورد استفاده | 1.18MW <1.7(monobook skin) MW 1.8+: all skins and pages | vector |
stylepath | String | نشانی وب کامل به مسیر ریشهٔ پوستهها، شامل برگههای سبک و اسکریپتهای اختصاصی پوسته. این مسیر شامل زیرشاخههای پوسته نیست و توسط یک «/» فسخ نمیشود. | 1.18MW <1.7(monobook skin) MW 1.8+:all skins and pages | /w/skins |
wgArticlePath | String | مسیر محلی، که از ریشه آغاز میشود، به مقالههای منبع، شامل یک جایگاهدار «$1» که میتواند با عنوان یک صفحه جهت دریافت نشانی معتبر آن صفحه جایگزین شود. اگر یک عنوان معتبر صفحهtitle ارائه شود، میتوان یک نشانی معتبر را با استفاده ازwgArticlePath.replace('$1', title) ساخت. همچنین$wgArticlePath را ببینید. | 1.08MW 1.8+ | /wiki/$1 |
wgCaseSensitiveNamespaces | Array | شناسههای فضاهای نام که از سوی مدیاویکی با حساسیت به حروف کوچک و بزرگ با آنها رفتار میشود. تعیینشده بر پایه مقدار متغبرهای تنظیماتی$wgCapitalLinks و$wgCapitalLinksOverrides. | 1.18MW 1.18+ (r90234) | [] |
wgContentLanguage | String | The language code for the defaultcontent language of the wiki. | 1.08MW 1.8+ | en |
wgContentNamespaces | آریهٔ اعداد صحیح | شناسهٔ فضاهای نامی که از سوی مدیاویکی بهعنوان «فضاهای نام محتوایی» در نظر گرفته میشوند. برابر با مقدار متغیر تنظیماتی$wgContentNamespaces که در صورت نبود0، آن را نیز شامل میشود. | 1.23MW 1.23+ (git #3d87e3a8) | [100, 102, 104, 106, 0] |
wgDBname | String | نام بانک دادهٔ ویکی. | 1.13MW 1.13+ | mediawikiwiki |
wgWikiID | String | The wiki identifier.Should be preferred overwgDBname. | 1.34MW 1.34+ (d45baf7f0734) | mediawikiwiki |
wgExtensionAssetsPath | String | مسیر ریشهٔ مورد استفاده برای ویژگیهای استاتیک افزونه (مثلاً images). الحاق / و سپس نام افزونه برای دریافت مسیر ریشهٔ افزونهٔ مشخصشده. | 1.18MW 1.18+ (r82247) | /w/extensions |
wgFormattedNamespaces | Object | نگاشتی از شناسههای فضاهای نام را برای بومیسازی نام فضاهای نام ارائه میدهد. برای هر فضای نام، این شیء دارای یک ورودی است که شمارهٔ رشتهشدهٔ فضای نام را بهعنوان کلید، و نام فضای نام را بهعنوان مقدار آن در خود دارد. نامهای مستعار یا استاندارد را شامل نمیشود. | 1.16MW 1.16+ | {0: '', 1: 'Talk', 2: 'User', ... } |
wgNamespaceIds | Object | نگاشتی از فضاهای نام به شناسههای فضای نام را ارائه میدهد.برای هر فضای نام، شامل نامها مستعار، این شیء دارای یک ورودی است که نام فضای نام را بهعنوان کلید، و شناسهٔ فضای نام را بهعنوان مقدار عددی صحیح در خود دارد. تمامی کلیدها با حروف کوچک هستند و فاصلهها با زیرخط جایگزین شدهاند. | 1.16MW 1.16+ | {media: -2, special: -1, "": 0, talk: 1, user: 2, ... } |
wgScript | String | مسیر کامل به اسکریپت دسترسی اصلی که با ریشه آغاز میشود، شامل نام کامل اسکریپت بههمراه افزونه. در ویکیهای بنیاد ویکیمدیا، معمولاً «/w/index.php». همچنین$wgScript را ببینید. | 1.11MW 1.11+ | /w/index.php |
wgScriptPath | String | The path part ofwgScript, without trailing "/".This is the path to use for direct calls to the php access points such asindex.php orapi.php.See also$wgScriptPath. | 1.08MW 1.8+ | /w |
wgServer | String | The server URL, not terminated by "/".The combinationwgServer + wgScriptPath + "/api.php", for instance, results in a valid URL to the API access point script. | 1.08MW 1.8+ | //www.mediawiki.org |
wgServerName | String | The name of the server, without the protocol or trailing slash (e.g. "en.wikipedia.org"). | 1.24MW 1.24+ (72c0ce43a854) | www.mediawiki.org |
wgSiteName | String | The name of the site, as defined by$wgSitename. | 1.16MW 1.16+ | MediaWiki |
wgVariantArticlePath | String orfalse | 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 thanwgContentLanguage.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 tofalse.See also$wgVariantArticlePath. | 1.13MW 1.13+ | false |
wgVersion | String | Identifies the version of MediaWiki that served the page. | 1.12MW 1.12+ | 1.42.0-wmf.26 |
wgMFMode | String (or null) | Whether the current web response was formatted for a mobile device (e.g. byMobileFrontend based on user agent, URL param, or cookie). Only boolean use is supported. In practice it is null 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) |
| نام | نوع | توضیحات | دسترسیپذیری | Example output |
|---|---|---|---|---|
wgAction | String | The action performed, e.g. "edit" for edit pages, or "view" for page views.SeeManual:Parameters to index.php#Actions. | MW 1.10+ | view |
wgArticleId | Integer | The internal ID (page ID) of the page. For non-existent pages and special pages, it is zero. | MW 1.8+ | 17317 |
wgCanonicalNamespace | String | The canonical (i.e., not localized or aliased)namespace name of the page. | MW 1.8+ | Manual |
wgCanonicalSpecialPageName | String orfalse or not defined | On special pages, the canonical (i.e., not localized or aliased) name of the special page; otherwise it is set tofalse (since MW 1.16; previously not defined at all in that case). | MW 1.9+ | false |
wgCategories | Array of strings | The list of all the categories a page belongs to.This is essentially a JavaScript version of the category box shown on the page (grey box at bottom of page, in Monobook/Vector).If the category box is not shown on the current page (as is the case when editing/viewing history),wgCategories will be an empty array.This is not available in MobileFrontend, regardless of the advanced mode being on or off. | MW 1.16+ | ['JavaScript'] |
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+ | 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 isfalse 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 onTitle::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 likeTitleBlacklist that may be enabled.If this istrue, it is likely to be editable.If it isfalse, it is definitely not editable. | (git #0bbc3589) | true |
wgIsRedirect | Boolean | true if the page is a redirect to a wiki page using#REDIRECT [[Target page name]].It isfalse for anything else (normal pages, special pages, most generated pages, etc.). | MW 1.22+ (gerrit:75478) | false |
wgNamespaceNumber | Integer | The number of thenamespace the page is in. | MW 1.8+ | 100 |
wgPageContentLanguage | String | Language code of thepage 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). | 1.16MW 1.22+ (gerrit:62178) | 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, usewgTitle. | MW 1.8+ | Manual:Interface/JavaScript |
wgPageParseReport | Object | Parser limit report for the page when parser data is available.Includes data about parser 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 inmw.config).Uses the same format aswgPageName. | 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 asSpecial:MovePage andSpecial: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 | LikewgIsProbablyEditable, but applied to the contextually relevant page name fromwgRelevantPageName 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 onlyexplicit protections.Namespace-wide protections (e.g. MediaWiki namespace,$wgNamespaceProtection), cascading protections, or "protections" brought about by theTitleBlacklist 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 onlyexplicit protections.Namespace-wide protections (e.g. MediaWiki namespace,$wgNamespaceProtection), cascading protections, or "protections" brought about by theTitleBlacklist extension's "moveonly" attribute, are ignored by this array.On such pages, the value is normally | MW 1.14+ | [] |
wgRevisionId | عدد صحیح | شناسهٔ نسخهای که در حال حاضر در معرض مشاهده است، یا نسخهٔ سمت راست در نمایش تفاوت نسخهها (برابر 0 در صورت تنظیم diffonly=yes،T231744) همچنین تنظیمشده در صفحههای تفاوت؛ صفر برای صفحههای ویژه، صفحههای تاریخچه یا هر جای نامرتبط دیگر. | MW 1.22+git #7fa7b71e | 6400980 |
wgSearchType | رشته یا تنظیمنشده | The name of the search backend used to execute search requests. | MW 1.23+ (git #118655) | CirrusSearch |
wgTitle | String | The page title, without the namespace.May contain spaces – does not contain underscores.To get the title including the namespace, usewgPageName. | MW 1.8+ | Interface/JavaScript |
Related to the user currently viewing the page:
| Name | Type | Description | Availability | Example output |
|---|---|---|---|---|
wgUserEditCount | Integer | The number of edits the current user made (null if not logged in). | 1.21MW 1.21+ | 556 |
wgUserGroups | Array of strings | An array containing all the (local) user groups the current user is a member of, ornull 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 "*".If you'd like to checkuser rights, there is no | MW 1.10+ | ['autopatrolled', '*', 'user', 'autoconfirmed'] |
wgUserId | Integer | The numeric ID of the current user (null if not logged in). | 1.21MW 1.21+ | 12311063 |
wgUserLanguage | String | The language code for the user's interface language, as set in Special→Preferences (which may be overridden by auselang= parameter in the URL). | 1.08MW 1.8+ | en |
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 isnull (not the user's IP address, unlike PHP$wgUser->getName() on the server). | MW 1.8+ | Your Username |
wgUserRegistration | Integer | The time and date on which the current user registered, represented as milliseconds since epoch.Null if not logged in. | 1.21MW 1.21+ | 1514273653000 |
Some additional variables are present only depending on the page namespace, wiki configuration and/or user preferences.
| Name | Type | Description | Availability |
|---|---|---|---|
| Main Page | |||
wgIsMainPage | Boolean | true if the current page is the main page of the wiki.Omitted entirely otherwise (defaulting tonull inmw.config). | 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');// falsemw.config.get('wgUserVariant');// null. | MW 1.16+ |
| After saving an edit | |||
wgPostEdit | String | "saved" if the user just saved this page."created" if the user just created this page."restored" if the user just restored this page by going to the history page, clicked on a timestamp link for an old revision, clicked on edit and then saved.null otherwise.Note that:
| MW 1.21+ (gerrit:50480) |
| When comparing revisions | |||
wgDiffOldId | Integer | Revision ID of the "old" revision when viewing a diff.Only available when viewing a revision comparison. | MW 1.30+ (git #a469795e) |
wgDiffNewId | Integer | Revision ID of the "new" revision when viewing a diff.Only available when viewing a revision comparison. | MW 1.30+ (git #a469795e) |
Some additional information will be available when the site supportsWikibase:
| Name | Type | Description | Availability |
|---|---|---|---|
wgWikibaseItemId | String | The Wikibase item ID of the current page.Currently, in the edit mode, this variable is not set.Seephab:T185437. | ? |