Jump to content
MediaWiki

Příručka:Rozhraní/JavaScript

From mediawiki.org
This page is a translated version of the page Manual:Interface/JavaScript and the translation is 100% complete.
MediaWiki a JavaScript
Doručení JavaScript
Přidání JS na wiki
Rozšíření, vzhledy a další moduly
Další pokyny
Kategorie pro celý JavaScript
Učení JavaScriptu
CORS
Rozbité skripty
Vývoj jádra: kódovací konvence a testování jednotky
Technické dokumenty na doc.wikimedia.org
v · d · u

MediaWiki:Common.js obsahuje kód JavaScriptu, který bude načten pro všechny uživatele. Zadejte "MediaWiki:Common.js" do vyhledávacího pole vaší wiki. Pokud stránka neexistuje, zobrazí se vám to. Pokud ano a máte potřebná uživatelská práva , stačí ji vytvořit s kódem, který potřebujete spustit. Existují podobné stránky, které ovlivňují pouze uživatele konkrétních vzhledů (viz níže).

Pokud je $wgAllowUserJs nastaveno na hodnotu true, uživatelé si mohou rozhraní přizpůsobit pouze pro sebe vytvořením a importem osobních skriptů na určitých podstránkách uživatelů. Rozšíření:Gadgets usnadňuje administrátorům webu a uživatelům sdílení JavaScriptu, viz Gadget kuchyň .

Tato stránka popisuje dostupné stavové a konfigurační proměnné. Obecné informace o JavaScript API naleznete ve vygenerované dokumentaci.

Seznam JavaScriptových stránek

Žádné skripty ani gadgety se nenačtou na samotném Special:Preferences nebo pokud je použit safemode.

Všeobecné skripty

Osobní skripty

Osobní skripty jsou k dispozici pouze v případě, že je $wgAllowUserJs nastaveno na true.

Pro usnadnění programování v JavaScriptu software MediaWiki zpřístupňuje řadu konfiguračních hodnot v objektu s názvem mw.config .

Většina těchto proměnných má prefix wg.
  • Jejich názvy byly dříve zpřístupněny jako globální proměnné JavaScriptu, pokud je $wgLegacyJavaScriptGlobals pravdivé, takže používají prefix, aby se zabránilo kolizím.
  • Podmnožina těchto názvů odpovídá proměnným $wg v PHP, ale jiné s nimi nesouvisí.
  • Kromě názvů v tomto seznamu mnoho rozšíření také nastavuje další konfigurační proměnné JavaScriptu s předponou 'wg'.

Tyto hodnoty jsou přístupné prostřednictvím modulu mw.config, který je popsán v modulech ResourceLoader/Core.

Celý web

Název Typ Popis Dostupnost Příklad výstupu
debug Celé číslo (1.36+) / Boolean (-1.35) Od verze MediaWiki 1.36+ znamená 0, že ladicí režim je vypnutý, a kladné nenulové číslo znamená, že ladicí režim je zapnutý (např. 1 nebo 2).

V MediaWiki 1.35 a starších verzích se používaly false a true (phab:T85805).

1.17MW 1.17+ 0
skin Řetězec Interní název aktuálně používaného vzhledu. 1.18MW <1.7 (vzhled monobook)
MW 1.8+: all skins and pages
vector
stylepath Řetězec Úplná URL adresa kořenového adresáře pro vzhledy, obsahující stylové listy a skripty specifické pro vzhledy. Cesta neobsahuje podadresář skin a není ukončena znakem "/". 1.18MW <1.7 (vzhled monobook)
MW 1.8+: všechny vzhledy a stránky
/w/skins
wgArticlePath Řetězec Lokální cesta, začínající u kořene, k referenčním článkům, obsahující zástupný symbol "1ドル", který lze nahradit názvem stránky, aby se získala platná adresa URL dané stránky. Pro platný název stránky title lze pomocí wgArticlePath.replace('1ドル', title) vytvořit platnou URL adresu. Více na stránce $wgArticlePath . 1.08MW 1.8+ /wiki/1ドル
wgCaseSensitiveNamespaces Pole ID jmenných prostorů, u kterých MediaWiki rozlišuje velká a malá písmena. Určeno hodnotami jejich konfiguračních proměnných $wgCapitalLinks a $wgCapitalLinksOverrides . 1.18MW 1.18+ (r90234 ) []
wgContentLanguage Řetězec Jazykový kód pro výchozí content language wiki. 1.08MW 1.8+ en
wgContentNamespaces Pole celých čísel ID jmenných prostorů, které MediaWiki považuje za "jmenné prostory obsahu". Ekvivalentní hodnotě konfigurační proměnné $wgContentNamespaces , včetně proměnné 0, pokud již není zahrnuta. 1.23MW 1.23+ (git #3d87e3a8) [100, 102, 104, 106, 0]
wgDBname Řetězec Název databáze wiki. 1.13MW 1.13+ mediawikiwiki
wgWikiID Řetězec Identifikátor wiki. Mělo by být upřednostňováno před wgDBname. 1.34MW 1.34+ (d45baf7f0734) mediawikiwiki
wgExtensionAssetsPath Řetězec Kořenová cesta použitá pro statické datové zdroje rozšíření (např. images). Přidejte '/' a poté název rozšíření, abyste získali kořenovou cestu pro dané rozšíření. 1.18MW 1.18+ (r82247 ) /w/extensions
wgFormattedNamespaces Objekt Poskytuje mapování z ID jmenných prostorů na lokalizované názvy jmenných prostorů. Pro každý jmenný prostor má objekt jednu položku, která má jako klíč řetězcové číslo jmenného prostoru a jako hodnotu název jmenného prostoru. Aliasy ani kanonická jména nejsou zahrnuty. 1.16MW 1.16+ {0: '', 1: 'Talk', 2: 'User', ... }
wgNamespaceIds Objekt Poskytuje mapování z názvů jmenných prostorů na ID jmenných prostorů. Pro každý název jmenného prostoru, včetně lokalizovaných a kanonických názvů a aliasů, má objekt jednu položku, která má jako klíč název jmenného prostoru a jako celočíselnou hodnotu ID jmenného prostoru. Všechny klávesy jsou malými písmeny, mezery jsou nahrazeny podtržítky. 1.16MW 1.16+ {media: -2, special: -1, "": 0, talk: 1, user: 2, ... }
wgScript Řetězec Úplná cesta k hlavnímu skriptu přístupového bodu, počínaje kořenovým adresářem, včetně celého názvu skriptu s příponou. Na wiki stránkách WMF obvykle "/w/index.php". Více na stránce $wgScript . 1.11MW 1.11+ /w/index.php
wgScriptPath Řetězec Část cesty proměnné wgScript bez koncové proměnné "/". Toto je cesta, která se má použít pro přímá volání přístupových bodů PHP, jako například index.php nebo api.php. Více na stránce $wgScriptPath . 1.08MW 1.8+ /w
wgServer Řetězec URL adresa serveru, neukončená řetězcem "/". Například kombinace wgServer + wgScriptPath + "/api.php" vede k platné URL adrese pro skript přístupového bodu API. 1.08MW 1.8+ //www.mediawiki.org
wgServerName String Název serveru bez protokolu nebo koncového lomítka (např. "cs.wikipedia.org"). 1.24MW 1.24+ (72c0ce43a854) www.mediawiki.org
wgSiteName String Název webu, jak je definován v $wgSitename . 1.16MW 1.16+ MediaWiki
wgVariantArticlePath Řetězec nebo false Pokud má wiki jazykové varianty (například čínskou a srbskou Wikipedii), nastaví cestu začínající u kořenového adresáře pro jazykové varianty jiné než wgContentLanguage. Cesta obsahuje dva zástupné symboly: "1ドル" se nahradí názvem stránky a "2ドル" se nahradí kódem jazykové varianty (např. „zh-tw"). Pokud wiki nemá jazykové varianty, nastaví hodnotu false. Více na stránce $wgVariantArticlePath . 1.13MW 1.13+ false
wgVersion Řetězec Identifikuje verzi MediaWiki, která stránku zobrazovala. 1.12MW 1.12+ 1.42.0-wmf.26
wgMFMode Boolean Zda byla aktuální webová odpověď formátována pro mobilní zařízení (např. pomocí MobileFrontend na základě uživatelského agenta, parametru URL nebo souboru cookie). Podporováno je pouze použití booleovských hodnot. V praxi je undefined nebo řetězec a přesný řetězec je považován za interní. V budoucnu se toto může stát skutečnou booleovskou hodnotou. MW 1.21+ (change 52270, T390923, T299772)


Všechny stránky (specifické pro uživatele/stránku)

Název Typ Popis Dostupnost Příklad výstupu
wgAction Řetězec Provedená akce, např. "edit" pro stránky s úpravami nebo "view" pro zobrazení stránek. Podívejte se na stránku Příručka:Parametry pro index.php#Akce. MW 1.10+ view
wgArticleId Celé číslo Interní ID (ID stránky) stránky. Pro neexistující stránky a speciální stránky je nula. MW 1.8+ 17317
wgCanonicalNamespace Řetězec Kanonický (tj. nelokalizovaný ani nealiasovaný) namespace název stránky. MW 1.8+ Manual
wgCanonicalSpecialPageName Řetězec nebo false nebo není definováno Na speciálních stránkách kanonický (tj. nelokalizovaný ani nealiasovaný) název speciální stránky. Jinak je nastaven na false (od verze MW 1.16; dříve v tomto případě nebyl vůbec definován). MW 1.9+ false
wgCategories Pole řetězců Seznam všech kategorií, do kterých stránka patří. Toto je v podstatě JavaScriptová verze pole kategorie zobrazeného na stránce (šedé pole ve spodní části stránky v Monobooku/Vectoru). Pokud se pole kategorie na aktuální stránce nezobrazuje (jako je tomu v případě úprav/prohlížení historie), bude wgCategories prázdné pole.
Toto není k dispozici v MobileFrontendu, bez ohledu na to, zda je rozšířený režim zapnutý nebo vypnutý.
MW 1.16+ ['JavaScript']
wgCurRevisionId Celé číslo ID nejvyšší revize aktuálně zobrazené stránky v době, kdy byla stránka zobrazena. Také nastaveno na stránkách rozdílů a historie. Nula pro speciální stránky. MW 1.9+ 6400980
wgIsArticle Boolean true, pokud stránka zobrazuje obsah wiki stránky, např. při prohlížení stránky (bez ohledu na jmenný prostor) nebo při prohlížení staré revize či rozdílu s vykresleným obsahem pod ní. Pro cokoli jiného (formulář pro úpravy, stránku historie, speciální stránky, nejgenerovanější stránky atd.) platí false.
Tato proměnná je špatně pojmenovaná – nesouvisí se stránkou, jelikož je hlavním jmenným prostorem "article" (článek).
MW 1.8+ true
wgIsProbablyEditable Boolean True, pokud je stránka pravděpodobně upravitelná (na základě Title::quickUserCan) aktuálním uživatelem. Slovo 'probably' (pravděpodobně) je nezbytné z důvodů výkonu. Přesná kontrola upravitelnosti je zde příliš nákladná kvůli kaskádové ochraně a rozšířením založeným na hookech, jako je TitleBlacklist , která mohou být povolena. Pokud je true, je pravděpodobné, že to bude možné upravovat. Pokud je false, rozhodně to není editovatelné. (git #0bbc3589) true
wgIsRedirect Boolean true, pokud stránka přesměrovává na wiki stránku s použitím #REDIRECT [[názvu cílové stránky]]. Pro cokoli jiného (normální stránky, speciální stránky, nejgenerovanější stránky atd.) je to false. MW 1.22+ (gerrit:75478) false
wgNamespaceNumber Celé číslo Číslo jmenného prostoru , ve kterém se stránka nachází. MW 1.8+ 100
wgPageContentLanguage Řetězec Kód jazyka page content language (podle $context->getTitle()->getPageLanguage()) MW 1.19+ (r104483 ) en
wgPageContentModel Řetězec 'wikitext' na typických wiki stránkách, 'javascript' na stránkách interpretovaných jako JavaScript, 'css' na stránkách interpretovaných jako CSS, 'Scribunto' na stránkách interpretovaných jako Scribunto (Lua). 1.16MW 1.22+ (gerrit:62178) wikitext
wgPageName Řetězec Celý název stránky, včetně lokalizovaného názvu jmenného prostoru, pokud jmenný prostor má název (hlavní jmenný prostor (číslo 0) ho nemá), a s mezerami nahrazenými podtržítky. Chcete-li získat pouze název bez jmenného prostoru, použijte wgTitle. MW 1.8+ Manual:Interface/JavaScript
wgPageParseReport Objekt Zpráva o limitu analyzátoru pro stránku, pokud jsou k dispozici data analyzátoru. Zahrnuje data o limitech parserů, statistiky Lua, když je povoleno rozšíření Scribunto, a informace o mezipaměti parseru. MW 1.28+ (git #316207) {limitreport: {...}, scribunto: {...}, cachereport: {...}}
wgRedirectedFrom Řetězec Při přesměrování obsahuje název stránky, ze které jsme byli přesměrováni. Pokud stránka nebyla přesměrována, hodnota se zcela vynechá (není součástí mw.config). Používá stejný formát jako wgPageName. MW 1.19+ (r104668 ) null
wgRelevantPageName Řetězec Celý název stránky, na kterou se vztahují akce s obsahem a navigační odkazy (např. karty vzhledu). Funkce AJAX watch toto využívá ke správnému fungování na speciálních stránkách, jako jsou Special:MovePage a Special:WhatLinksHere. MW 1.19+ (r113737 ) Manual:Interface/JavaScript
wgRelevantUserName Řetězec nebo nenastaveno Relevantní jméno uživatele, na kterého se vztahují akce s obsahem a některé další navigační odkazy (např. odkaz na uživatelská práva nebo uživatelské příspěvky). MW 1.23+ (git #88773) null
wgRelevantPageIsProbablyEditable Boolean Jako wgIsProbablyEditable, ale aplikováno na kontextově relevantní název stránky z wgRelevantPageName, nikoli striktně na aktuálně prohlíženou stránku. Například při zobrazení stránky "Special:MovePage/Example" se tím zobrazí, zda je daná stránka upravitelná. MW 1.30+ (git #dbfe9c99) true
wgRestrictionEdit Pole řetězců nebo zrušení nastavení Pokud je stránka vůbec upravitelná (a nejedná se o speciální stránku) a úpravy stránky jsou omezeny na některé uživatelské skupiny, pole obsahuje minimální počet uživatelských skupin, ve kterých musí uživatel patřit, aby mohl stránku upravovat. Pro částečně chráněné stránky by obsahoval ["autoconfirmed"]. Pro plně chráněné stránky ["sysop"]. Pokud neexistují žádná explicitní omezení, hodnota je [] (pole bez prvků).

Toto pole obsahuje pouze explicitní ochrany. Ochrany v celém jmenném prostoru (např. jmenný prostor MediaWiki, $wgNamespaceProtection ), kaskádové ochrany nebo "ochrany" vyvolané atributem "noedit" rozšíření TitleBlacklist jsou tímto polem ignorovány. Na takových stránkách je hodnota obvykle [], pokud na danou stránku nebyla konkrétně aplikována další ochrana.

Pokud stránka neexistuje, proměnná se nenastaví.

MW 1.14+ []
wgRestrictionMove Pole řetězců Pokud je stránka vůbec pohyblivá (a nejedná se o speciální stránku) a její pohyb je omezen na určité skupiny uživatelů, pole obsahuje minimální počet skupin uživatelů, ve kterých musí uživatel patřit, aby bylo možné stránku přesunout. Pro částečně chráněné stránky s přesunem by obsahoval hodnotu ["autoconfirmed"]. Pro plně chráněné stránky s přesunem ["sysop"]. Pokud neexistují žádná explicitní omezení, hodnota je [] (pole bez prvků).

Toto pole obsahuje pouze explicitní ochrany. Ochrany v celém jmenném prostoru (např. jmenný prostor MediaWiki, $wgNamespaceProtection ), kaskádové ochrany nebo "ochrany" vyvolané atributem "moveonly" rozšíření TitleBlacklist jsou tímto polem ignorovány. Na takových stránkách je hodnota obvykle [], pokud na danou stránku nebyla konkrétně aplikována další ochrana.

MW 1.14+ []
wgRevisionId Celé číslo ID aktuálně zobrazené revize nebo správné revize pro zobrazení rozdílů (ale 0, pokud diffonly=yes, T231744). Také nastaveno na rozdílových stránkách. Nula pro speciální stránky, stránky historie nebo kdekoli jinde, kde to není možné. MW 1.22+ git #7fa7b71e 6400980
wgSearchType Řetězec nebo nenastaveno Název vyhledávacího backendu používaného ke spuštění vyhledávacích požadavků. MW 1.23+ (git #118655) CirrusSearch
wgTitle Řetězec Název stránky bez jmenného prostoru. Může obsahovat mezery – neobsahuje podtržítka. Chcete-li získat název včetně jmenného prostoru, použijte wgPageName. MW 1.8+ Interface/JavaScript

Souvisí s uživatelem, který si stránku aktuálně prohlíží:

Název Typ Popis Dostupnost Příklad výstupu
wgUserEditCount Celé číslo Počet úprav provedených aktuálním uživatelem (null, pokud není přihlášen). 1.21MW 1.21+ 556
wgUserGroups Pole řetězců Pole obsahující všechny (lokální) uživatelské skupiny, jejichž je aktuální uživatel členem, nebo null pro nepřihlášené uživatele. Skupiny uživatelů jsou identifikovány interními názvy skupin uživatelů, např. "sysop", "autoconfirmed", "bureaucrat" atd. Výchozí uživatelská skupina se jmenuje "*". MW 1.10+ ['autopatrolled', '*', 'user', 'autoconfirmed']
wgUserId Celé číslo Číselné ID aktuálního uživatele (null, pokud není přihlášen). 1.21MW 1.21+ 12311063
wgUserLanguage Řetězec Kód jazyka uživatelského rozhraní, jak je nastaven ve Speciálních předvolbách (který může být přepsán parametrem uselang= v URL). 1.08MW 1.8+ en
wgUserName Řetězec Uživatelské jméno uživatele, který si aktuálně prohlíží stránku, pokud se jedná o přihlášeného uživatele. Pro nepřihlášené uživatele je to null (není to IP adresa uživatele, na rozdíl od PHP $wgUser->getName() na serveru). MW 1.8+ Your Username
wgUserRegistration Celé číslo Čas a datum, kdy se aktuální uživatel zaregistroval, vyjádřené v milisekundách od dané epochy. Nula, pokud nejste přihlášeni. 1.21MW 1.21+ 1514273653000

Některé stránky

Některé další proměnné jsou přítomny pouze v závislosti na jmenném prostoru stránky, konfiguraci wiki a nebo uživatelských preferencích.

Název Typ Popis Dostupnost
Hlavní stránka
wgIsMainPage Boolean true, pokud je aktuální stránka hlavní stránkou wiki. Jinak zcela vynecháno (výchozí hodnota je null v mw.config). MW 1.18+
Pokud má jazyk obsahu varianty:
wgUserVariant Řetězec Pokud má wiki jazykové varianty, kód jazyka preferované varianty uživatele. Pokud wiki neobsahuje varianty, proměnná není nakonfigurována (neexistuje), tj.:
mw.config.exists('wgUserVariant');// false
mw.config.get('wgUserVariant');// null.
MW 1.16+
Po uložení úpravy
wgPostEdit Řetězec "saved", pokud uživatel právě uložil tuto stránku. "created", pokud uživatel tuto stránku právě vytvořil. "restored", pokud uživatel právě obnovil tuto stránku přechodem na stránku historie, klikl na odkaz s časovým razítkem pro starou revizi, klikl na Upravit a poté ji uložil. Jinak null. Všimněte si, že:
  1. U nulových úprav je to null, "neuloženo"
  2. Při použití funkce "zpět" se "uloží"
  3. Při vrácení zpět je to null.
MW 1.21+ (gerrit:50480)
Při porovnávání revizí
wgDiffOldId Celé číslo ID "staré" revize při zobrazení rozdílu. K dispozici pouze při zobrazení porovnání revizí. MW 1.30+ (git #a469795e)
wgDiffNewId Celé číslo ID "nové" revize při zobrazení rozdílu. K dispozici pouze při zobrazení porovnání revizí. MW 1.30+ (git #a469795e)

Specifické pro danou stránku (rozšíření Wikibase)

Některé další informace budou k dispozici, jakmile web podpoří Wikibase :

Název Typ Popis Dostupnost
wgWikibaseItemId Řetězec ID položky Wikibase pro aktuální stránku. V současné době v režimu úprav tato proměnná není nastavena. Podívejte se na stránku phab:T185437. ?

Háčky pro rozšíření

Související odkazy

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