Nápověda: Vyhledávání nefunkčních skriptů
Pokud máte problémy s místními originálními nástroji (gadgety) nebo s uživatelskými skripty, jsou tyto problémy často způsobeny porušeným kódem JavaScriptu (programovacího jazyka, ve kterém se tyto nástroje vytvářejí) nebo nedeklarovanými závislostmi na jiném kódu.
Chcete-li najít problematický kód a místo, které je třeba opravit, budete muset použít vývojové nástroje vašeho webového prohlížeče. Tento nástroj v kombinaci se speciální adresou URL vám pomůže identifikovat poškozené skripty.
Jak na to?
Ujistěte se, že máte aktuální konfiguraci
Nejprve se ujistěte, že je váš prohlížeč aktuální. Funkce MediaWiki a některé skripty nejsou z bezpečnostních důvodů starými prohlížeči podporovány.
Poté vyčistěte mezipaměť pro stránku. Tím se vynutí opětovné zobrazení stránky ze zdroje a restart skriptů.
Předchozí dva body vyřeší většinu problémů.
Pokud máte ve webovém prohlížeči nainstalován nástroj podobný jako "NoScript" (žádný skript) nebo blokování reklam, ujistěte se, že jsou povoleny skripty pro wikipedia.org, wikimedia.org, mediawiki.org a wikidata.org.
Otestujte, zda nemáte problémy s uživatelskými skripty nebo nástroji
Chcete-li otestovat, zda je váš problém spojen s uživatelskými skripty nebo originálními nástroji, můžete zkusit dočasně deaktivovat všechny skripty a styly na wiki najednou.
Pro deaktivaci přidejte safemode parametr (?safemode=1
) k webové adrese (URL) stránky, na které vidíte problém.
Příklad:
https://www.mediawiki.org/wiki/Help:Locating_broken_scripts?safemode=1
Pokud adresa URL již obsahuje ?
, přidejte k ní &safemode=1
.
Příklad:
https://www.mediawiki.org/w/index.php?title=Help:Locating_broken_scripts&safemode=1
Pokud máte na stránce, kterou testujete v nouzovém režimu, stále problémy a váš prohlížeč je aktuální, kontaktujte vývojáře MediaWiki (Jak nahlásit chybu). Pokud problém v nouzovém režimu nevidíte, znamená to, že máte problém s uživatelským skriptem nebo gadgetem. Musíte identifikovat problém.
Otestujte, zda nemáte problémy s rozšířením prohlížeče
Některé problémy mohou být důsledkem vzájemného působení mezi Wikipedií a některými rozšířeními prohlížeče. Nejjednodušší způsob, jak toto otestovat, je vyzkoušet stejnou akci se všemi deaktivovanými rozšířeními. Nejjednodušším způsobem, jak toho dosáhnout, alespoň s prohlížeči Google Chrome a Firefox, je opakování operace pomocí "anonymního prohlížení" nebo "hostování", kde prohlížeč ve výchozím nastavení zakáže všechna rozšíření. Pokud problém zmizí při anonymním prohlížení, zkuste jej zúžit postupným dočasným deaktivováním rozšíření jednoho po druhém, dokud nenaleznete viníka.
Pokud zjistíte, že problém skutečně souvisí s rozšířením prohlížeče, zvažte jeho nahlášení vývojářům rozšíření. Pokud se to rozhodnete nahlásit na diskusním fóru na Wikimedie wiki, uveďte prosím ve své zprávě rozšíření vašeho prohlížeče.
Identifikujte problémy
Následující odkazy vysvětlují, jak identifikaci problémů provést v následujících prohlížečích:
Po jejich otevření připojte ?debug=true
k webové adrese (URL) stránky, na které vidíte problém.
Příklad:
https://www.mediawiki.org/wiki/Help:Locating_broken_scripts?debug=true
Pokud adresa URL již obsahuje značku ?
, připojte místo ní &debug=true
.
Příklad:
https://www.mediawiki.org/w/index.php?title=Help:Locating_broken_scripts&debug=true
Pokud se vyskytne problém s JavaScriptem, měla by být chyba vytištěna v záložce 'console' (řídicí panel) nástrojů pro vývojáře.
Ujistěte se, že je zde povolen "JavaScript" nebo "JS" a případně deaktivujte další výstup, aby na výstupu nebylo příliš mnoho informací:
Klikněte na název souboru vpravo. Tím se otevře pohled "Debugger". V pravém podokně se zobrazí kód, který je třeba opravit. V levém podokně se zobrazí, který soubor je třeba opravit (možná budete muset procházet seznamem, abyste našli zvýrazněný soubor). Klepnutím pravým tlačítkem myši na soubor otevřete soubor, který potřebuje opravu na nové kartě:
Vzhledem k tomu, jak jsou soubory "načteny", nemusí být přesná adresa URL souboru vždy zřejmá. Možná budete muset přejít na začátek souboru, abyste viděli jeho název.
Toto jméno může být jen komentář (něco jako // Title
).
Problémy, které je třeba opravit, mohou být v místním souboru MediaWiki:Common.js
na této wiki, ve vašich osobních souborech, jako je User:MyUserName/common.js
(nebo jiné soubory .js, které máte pod User:MyUserName/
(podstránkami)) nebo v kódu jednoho z gadgetů dostupných na této wiki nebo v definicích závislostí kódu gadgetu definovaného v MediaWiki:Gadgets-definition
na této wiki.
Další technické informace naleznete na stránce Jak přepnout režim ladění.
Oprava problému
Většinu skriptů najdete hledáním v m:Special:MyPage/global.js
na Meta a místně na Special:MyPage/common.js
, Special:MyPage/vector.js
(nebo podobně pojmenovaných stránkách, pokud používáte jiné zobrazení, například Special:MyPage/monobook.js
, při použití zobrazení MonoBook), a cokoli, co je místně vybráno ve Special:Preferences#mw-prefsection-gadgets
.
Problém na skriptech může být způsoben několika příčinami. Doporučujeme vám kontaktovat někoho, kdo zná JavaScript, aby vám pomohl. (Pokud máte základní technické znalosti JavaScriptu, další pokyny a odkazy na další informace naleznete v T164242.)
Mezitím můžete skripty deaktivovat.
Pokud je poškozený skript identifikován jako gadget, zakažte jej ve svém nastavení.
Pokud je poškozený skript na stránce .js nebo na vaší stránce, zakažte skript okomentováním. Přidejte /*
na začátek příslušného kódu a */
na konec.
Skript můžete také zakázat vyprázdněním všech řádků na stránce .js nebo komentářem označeném //
na začátku každého příslušného řádku.
Jiné způsoby identifikace poškozených skriptů
- Poznamenejte si gadgety a skripty, které ve svém účtu používáte.
- Zakažte ve svém účtu všechny skripty a gadgety.
- Znovu povolte jeden gadget.
- Vymažte mezipaměti.
- Vyzkoušejte, jestli máte stále problémy:
- Pokud ne, přejděte ke kroku 3.
- Pokud ano, opravte skript a vraťte se ke kroku 3 na další potenciálně poškozené skripty.
Zdánlivě zcela nesouvisející gadgety mohou způsobit ty nejpodivnější věci. Chcete-li jej zúžit, vypněte všechny gadgety v určité části seznamu gadgetů v předvolbách a podívejte se, zda to pomůže. Pokud to nefunguje, zkuste vypnout další část miniaplikací. Nakonec najdete sekci gadgetů, kde je problém. Potom gadgety v této sekci postupně vypněte. Než uděláte cokoli, udělejte si snímek obrazovky s celou stránkou předvoleb miniaplikace. Tímto způsobem se můžete vrátit k tomu, co se vám líbilo. Firefox má zabudovaný nástroj pro snímání obrazovky, který vám umožní získat celou stránku včetně části stránky, která se nezobrazuje na obrazovce.
Související odkazy
- ResourceLoader/Architecture#Disable on a single page
- wikitech:Client errors – Infrastruktura Wikimedie pro protokolování chyb JavaScriptu