Help:Lokalizowanie niedziałających skryptów
Jeżeli masz problemy z gadżetami lokalnymi lub skryptami użytkownika, to zazwyczaj są one spowodowane przez zepsuty kod JavaScript (język programowania, w którym pisane są gadżety) lub nieokreślone zależności od innego kodu.
Aby wyśledzić problematyczny kod i miejsce, w którym należy dokonać poprawek, będzie trzeba użyć narzędzi dla programistów dostępnych w Twojej przeglądarce. Te narzędzia w połączeniu ze specjalnym adresem URL pomogą zidentyfikować niedziałające skrypty.
Jak to zrobić
Upewnij się, że Twoja konfiguracja jest aktualna
Najpierw upewnij się, że masz aktualną przeglądarkę. Funkcje MediaWiki oraz niektóre skrypty nie działają na starych przeglądarkach z powodów związanych z bezpieczeństwem.
Następnie odśwież pamięć podręczną dla wyświetlanej strony, aby wymusić ponowne przetworzenie jej kodu źródłowego lub restart skryptów.
Te dwie czynności rozwiązują najwięcej problemów.
Jeśli swojej przeglądarce masz zainstalowane narzędzie takie jak NoScript lub jakieś aplikacje do blokowania reklam, upewnij się, że są one wyłączone dla domen wikipedia.org, wikimedia.org, mediawiki.org oraz wikidata.org.
Sprawdź, czy problem jest związany ze skryptami użytkownika lub gadżetami
Aby sprawdzić, czy twój problem jest spowodowany przez skrypty użytkownika lub gadżety, możesz spróbować tymczasowo wyłączyć na raz wszystkie skrypty oraz arkusze stylów włączone na wiki.
Aby to zrobić, dodaj parametr safemode (?safemode=1
) do adresu strony (URL), na której występuje problem.
Przykład:
https://www.mediawiki.org/wiki/Help:Locating_broken_scripts?safemode=1
Jeżeli w adresie URL znajduje się już znak ?
, zamiast tego dodaj &safemode=1
.
Przykład:
https://www.mediawiki.org/w/index.php?title=Help:Locating_broken_scripts&safemode=1
Jeżeli pomimo wyłączonych skryptów problem nadal występuje i masz najnowszą wersję przeglądarki, skontaktuj się z twórcami MediaWiki (Jak zgłosić błąd). Jeżeli jednak problem przestał występować, oznacza to, że jest spowodowany przez jakiś skrypt użytkownika lub gadżet. Należy go zidentyfikować.
Sprawdź, czy problem związany jest z jakimś rozszerzeniem przeglądarki
Niektóre problemy mogą wynikać z interakcji pomiędzy Wikipedią a jakimś rozszerzeniem przeglądarki. Najłatwiejszym sposobem na sprawdzenie tego jest wypróbowanie tego samego działania z wyłączonymi wszystkimi rozszerzeniami, a najłatwiejszym sposobem na osiągnięcie tego, przynajmniej w przeglądarkach Google Chrome oraz Firefox jest powtórzenie operacji przy użyciu „anonimowego przeglądania” lub „trybu gościa”, w którym przeglądarka domyślnie wyłącza wszystkie rozszerzenia. Jeśli w trybie anonimowego przeglądania problem nie występuje, spróbuj go zawęzić tymczasowo wyłączając rozszerzenia jedno po drugim, aż do znalezienia „winowajcy”.
Jeśli okaże się, że problem jest rzeczywiście związany z rozszerzeniem przeglądarki, rozważ zgłoszenie tego twórcom rozszerzenia. Jeśli zdecydujesz się zgłosić problem na jakimś forum dyskusyjnym na wiki zarządzanym przez Wikimedia, w zgłoszeniu wspomnij o rozszerzeniu przeglądarki.
Zidentyfikuj problem
Te linki objaśniają, jak korzystać z narzędzi dla programistów w następujących przeglądarkach:
Po zapoznaniu się z nimi, do adresu strony (URL), na której występuje problem, dodaj ?debug=true
.
Przykład:
https://www.mediawiki.org/wiki/Help:Locating_broken_scripts?debug=true
Jeżeli w adresie URL znajduje się już znak ?
, zamiast tego dodaj &debug=true
.
Przykład:
https://www.mediawiki.org/w/index.php?title=Help:Locating_broken_scripts&debug=true
Jeżeli problem jest związany z kodem JavaScript, komunikat błędu powinien zostać wyswietlony w konsoli narzędzi dla programistów.
Aby ograniczyć ilość wyświetlanych informacji do tych interesujących, możesz włączyć tylko „JavaScript” lub „JS”:
Kliknij na nazwę pliku po prawej stronie komunikatu. Otworzy się widok „Debuggera”. W prawej części będzie widoczny kod wymagający poprawy. Lewy panel pokaże plik do poprawy (będzie podświetlony). Kliknij prawym przyciskiem myszy na jego nazwie, aby otworzyć go w nowej zakładce:
Z powodu sposobu ładowania plików, dokładny adres URL nie zawsze będzie oczywisty. Być może trzeba będzie przejść na początek pliku, aby znaleźć jego nazwę.
Taka nazwa może znajdować się w bloku komentarza (coś podobnego do // Title
).
Niektóre problemy do poprawy mogą znajdować się w lokalnym pliku MediaWiki:Common.js
dla danej wiki, w skryptach osobistych, takich jak User:MyUserName/common.js
(lub inne pliki .js, które są podstronami o prefiksie User:MyUserName/
), w kodzie jednego z gadżetów dostępnych na tej wiki lub w zależnościach gadżetów zdefiniowanych na stronie MediaWiki:Gadgets-definition
na tej wiki.
Aby uzyskać więcej informacji technicznych na temat tej opcji, sprawdź, jak włączyć tryb debugowania.
Rozwiąż problem
Większość skryptów znajdziesz przeglądając m:Special:MyPage/global.js
na Meta, lokalnie Special:MyPage/common.js
, Special:MyPage/vector.js
(i podobnie nazwane strony, zgodnie z nazwą używanej skórki, na przykład Special:MyPage/monobook.js
jeśli używasz skórki MonoBook – Książka), a także wszystko, co jest zaznaczone w Special:Preferences#mw-prefsection-gadgets
.
Problemy ze skryptami mogą wystąpić z wielu powodów. Zalecamy kontakt z osobą znającą się na JavaScript. (Jeżeli masz podstawową techniczną wiedzę o JavaScript, zobacz T164242, aby uzyskać porady oraz linki do dodatkowych informacji.)
W międzyczasie możesz wyłączyć niedziałające skrypty.
Jeżeli niedziałający skrypt jest gadżetem, wyłącz go w preferencjach.
Jeżeli niedziałający skrypt znajduje się na Twojej stronie .js, wyłącz go poprzez jego zakomentowanie – dodaj /*
na początku oraz */
na końcu odnośnego kodu.
Możesz także wyłączyć skrypt poprzez usunięcie wszystkich dotyczących go linii z Twojej strony .js albo poprzez ich zakomentowanie dodając na początku każdej z nich znak komentarza //
.
Inne sposoby na odnalezienie problematycznego skryptu
- zwróć uwagę na gadżety i skrypty włączone na Twoim koncie,
- wyłącz wszystkie skrypty i gadżety na Twoim koncie,
- włącz jeden z gadżetów,
- wyczyść pamięć podręczną przeglądarki,
- sprawdź czy problem nadal występuje:
- jeśli nie, przejdź do kroku 3, wybierając kolejny gadżet,
- jeśli tak, napraw go i przejdź z powrotem do kroku 3, aby sprawdzić, czy nie ma innych zepsutych skryptów.
Zupełnie niezwiązane ze sobą gadżety mogą popsuć najdziwniejsze rzeczy. Aby zawęzić problem, wyłącz wszystkie gadżety z określonej części listy gadżetów w preferencjach i sprawdź, czy to pomaga. Jeśli to nie zadziała, spróbuj wyłączyć kolejną część gadżetów. W końcu znajdziesz tę część gadżetów, w której znajduje się problematyczny gadżet. Wtedy wyłączaj gadżety z tej części jeden po drugim. Przed wykonaniem którejkolwiek z powyższych czynności zrób najpierw zrzutu ekranu całej strony preferencji gadżetów. W ten sposób będziesz mógł powrócić do Twoich ulubionych ustawień. Firefox ma wbudowane narzędzie do wykonywania zrzutów ekranu, które pozwala uzyskać zrzut całej strony, w tym tej jej części, która nie jest wyświetlona na ekranie.
Zobacz też
- ResourceLoader/Architecture#Disable on a single page
- wikitech:Client errors – przygotowana przez Wikimedia Foundation infrastruktura do rejestrowania błędów JavaScript