راهنما:رابط کاربری/جاوااسکریپت

From mediawiki.org
This page is a translated version of the page Manual:Interface/JavaScript and the translation is 40% complete.
Outdated translations are marked like this.

MediaWiki:Common.js حاوی جاوااسکریپتی است که برای تمام کاربران بارگیری خواهد شد. «MediaWiki:Common.js» را در جعبهٔ جستجوی ویکی خود وارد کنید. اگر صفحه موجود نباشد، به شما خبر می‌دهد. اگر چنین باشد، و شما دارای اختیارات کاربری لازم هستید، فقط صفحه را با کدی که نیاز به اجرای آن دارید ایجاد کنید. صفحه‌های مشابهی هستند که تنها بر روی کاربران پوسته‌ای خاص اثر می‌گذارند (پایین را ببینید).

اگر $wgAllowUserJs روی «صحیح» تنظیم شود، کاربران می‌توانند با ایجاد و درون‌ریزی اسکریپت‌های شخصی در زیرصفحه‌های کاربری مشخص، رابط کاربری را تنها برای خودشان سفارشی‌سازی کنند. Extension:Gadgets کار را برای کاربران و مدیران جهت اشتراک‌گذاری جاوااسکریپت‌ها آسان می‌کند. Gadget kitchen را ببینید.

این صفحه متغیرهای تنظیمان و وضعیت که در دسترس هستند را پوشش می‌دهد. برای رابط برنامه‌نویسی اصلی جاوااسکریپت، توضیحات جی‌اس‌داک را ببینید.

فهرست صفحه‌های جاوااسکریپت

Note that any scripts or gadgets won't load on Special:Preferences itself, or if safemode is used.

اسکریپت‌های سراسری

اسکریپت‌های شخصی

تنها در صورتی در دسترس هستند که $wgAllowUserJs خکس true تنظیم شود.

mw.config

جهت تسهیل برنامه‌نویسی جاوااسکریپت، نرم‌افزار مدیاویکی تعدادی از مقدارهای تنظیمات را در شیء با نام mw.config ارائه می‌دهد.

بیشتر این متغیرها دارای پیشوند wg هستند.
  • به‌دلایل مرتبط با سازگاری نسخه‌های قدیمی، در صورتی صحیح بودن $wgLegacyJavaScriptGlobals ، این نام‌ها به‌عنوان متغیرهای سراسری ارائه می‌شوند. بنابراین برای جلوگیری از برخورد، از یک پیشوند استفاده می‌کنند.
  • برخی از زیرمجموعه‌های این نام‌ها به متغیرهای wg در پی‌اچ‌پی واکنش نشان می‌دهند، اما بقیه آن‌ها نامرتبط هستند.
  • علاوه بر نام‌ها موجود در این فهرست، بسیاری از افزونه‌ها نیز متغیرهای تنظیمات جاوااسکریپت اضافه‌ای دارند که دارای پیشوند wg هستند.

این مقدارها به‌واسطهٔ mw.config قابل دسترسی هستند که در بارگذاری‌منبع/پودمان‌هسته مستندسازی شده‌است.

در سراسر وبگاه

نام نوع توضیحات دسترسی‌پذیری 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, false and true were used (phab:T85805).

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 default content 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 over wgDBname. 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 of wgScript, without trailing "/". This is the path to use for direct calls to the php access points such as index.php or api.php. See also $wgScriptPath . 1.08MW 1.8+ /w
wgServer String The server URL, not terminated by "/". The combination wgServer + 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 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 . 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


تمام صفحه‌ها (ویژهٔ کاربر/صفحه)

نام نوع توضیحات دسترسی‌پذیری Example output
wgAction String The action performed, e.g. "edit" for edit pages, or "view" for page views. See Manual: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 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+ 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. 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 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 if the page is a redirect to a wiki page using #REDIRECT [[Target page name]]. It is false for anything else (normal pages, special pages, most generated pages, 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). 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, 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 [], unless additional protections have been applied specifically to that page.

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 [], unless additional protections have been applied specifically to that page.

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, use wgPageName. 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, 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+ ['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 a uselang= 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 is null (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 pages

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 to null in mw.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' ); // false
mw.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:
  1. On null edits, this is null, not "saved"
  2. When using "undo", this is "saved"
  3. On rollback, this is null
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)

Page specific (Wikibase extension)

Some additional information will be available when the site supports Wikibase :

Name Type Description Availability
wgWikibaseItemId String The Wikibase item ID of the current page. Currently, in the edit mode, this variable is not set. See phab:T185437. ?

Hooks for extensions

See also