KWALIFIKACJA INF3 - CZERWIEC 2021 (test 2)

PYTANIE NR 32.
Za pomocą której metody obiektu location języka JavaScript można zastąpić bieżący dokument na dokument spod adresu wskazanego przez parametr metody?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Metoda replace() obiektu location służy do przejścia pod adres przekazany jako parametr i zastępuje bieżący dokument w historii sesji. Dzięki temu po nawigacji użytkownik zwykle nie wróci do poprzedniej strony przyciskiem "Wstecz", bo bieżący wpis został podmieniony.

Pełne wyjaśnienie:

Obiekt location w JavaScript (w środowisku przeglądarkowym) udostępnia metody sterujące nawigacją. Metoda replace() przyjmuje jako parametr adres URL i powoduje wczytanie dokumentu spod tego adresu w bieżącym oknie/kartcie.

Kluczową cechą replace() jest to, że zastępuje bieżący dokument w historii przeglądania (nie tworzy typowego nowego wpisu, jak przy zwykłej nawigacji). W praktyce wykorzystuje się to m.in. po udanym logowaniu lub po zmianie adresu strony, aby użytkownik nie wracał do starego stanu aplikacji przyciskiem "Wstecz".

Dlaczego pozostałe propozycje są niepoprawne w tym kontekście?

  • close() nie jest właściwą metodą obiektu location do nawigacji na wskazany URL; kojarzy się raczej z zamykaniem okna (w innych kontekstach API przeglądarki) niż z podmianą dokumentu pod danym adresem.
  • open() również nie jest metodą location realizującą zastąpienie bieżącego dokumentu; "otwieranie" stron jest typowo związane z innymi elementami API (np. tworzeniem nowego okna/karty) i nie odpowiada wymaganiu podmiany bieżącego dokumentu przez obiekt location.
  • reaload() jest błędnie zapisane i dodatkowo nie odpowiada opisanemu działaniu: przeładowanie dotyczy ponownego wczytania bieżącego adresu, a nie zastąpienia dokumentu innym adresem przekazanym parametrem.

Na egzaminie warto zapamiętać rozróżnienie: metody nawigacji (przejście do nowego URL) kontra metody odświeżania oraz różnicę między zastąpieniem wpisu w historii a dodaniem nowego wpisu. To często jest sednem pytania.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
replace() powoduje przejście pod URL podany jako parametr i wczytanie nowego dokumentu w bieżącym oknie/kartcie. Jednocześnie zastępuje bieżący wpis w historii, więc zwykle nie da się wrócić do poprzedniej strony przyciskiem "Wstecz".
Jej celem jest podmiana bieżącego dokumentu "w miejscu". W praktyce oznacza to zamianę aktualnego wpisu w historii sesji na nowy adres. To przydaje się, gdy powrót do poprzedniej strony byłby niepożądany (np. formularz logowania).
assign() nawiguję do nowego adresu i typowo pozostawia poprzednią stronę w historii, więc można wrócić "Wstecz". replace() też przechodzi do nowego URL, ale zastępuje bieżący wpis historii, ograniczając możliwość powrotu.
Najczęściej po zdarzeniach, po których nie chcesz, aby użytkownik wrócił do poprzedniego stanu: po logowaniu, po wylogowaniu, po zaakceptowaniu regulaminu lub po przekierowaniu ze starego adresu na nowy. To upraszcza UX i zmniejsza ryzyko błędów.
Jest to część powszechnie wspieranego Web API, więc zasada działania jest podobna w nowoczesnych przeglądarkach. Różnice mogą dotyczyć szczegółów zachowania historii w specyficznych przypadkach, dlatego w praktyce testuje się to na docelowych przeglądarkach projektu.
reload() przeładowuje bieżący dokument (ten sam adres), czyli odświeża stronę. replace() służy do przejścia pod inny adres przekazany parametrem i zastąpienia bieżącej strony w historii. To dwa różne zastosowania.
"open" kojarzy się z otwieraniem stron, ale w przeglądarce typowo dotyczy to innych elementów API (np. otwierania nowego okna/karty). Pytania o location sprawdzają nawigację w bieżącym kontekście i zachowanie historii, a nie tworzenie nowych okien.
Szukaj sformułowań typu "zastąpić bieżący dokument", "podmienić aktualną stronę" albo wskazówek o braku możliwości powrotu "Wstecz". To typowe sygnały, że właściwa jest metoda replace(), a nie nawigacja dodająca nowy wpis.
Tak. W testach często pojawiają się opcje z drobną literówką, aby sprawdzić, czy zdający zna dokładną składnię. Mimo to nie warto opierać wyboru wyłącznie na wyglądzie odpowiedzi—lepiej wiedzieć, jaki efekt daje dana metoda i w jakim obiekcie występuje.
Najczęstsze to mylenie metod nawigacji (assign vs replace), utożsamianie "otwierania" z przejściem do URL oraz brak zrozumienia historii przeglądania. Pomaga praktyka: przetestuj metody i sprawdź, jak zachowuje się przycisk "Wstecz".
info

Około 46% zdających odpowiada poprawnie na to pytanie. trudne

Według specjalistów z branży: "Metoda replace() obiektu location służy do przejścia pod adres przekazany jako parametr i zastępuje bieżący dokument w historii sesji."

Źródła:

  • MDN Web Docs: "Location.replace()" https://developer.mozilla.org/en-US/docs/Web/API/Location/replace (dostęp: 2026-03-01)
  • MDN Web Docs: "Location.reload()" https://developer.mozilla.org/en-US/docs/Web/API/Location/reload (dostęp: 2026-03-01)
  • WHATWG HTML Living Standard: "The Location interface" https://html.spec.whatwg.org/multipage/history.html#the-location-interface (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja MDN: interfejs Location i jego metody
  • Specyfikacja WHATWG HTML: sekcja dotycząca Location i nawigacji
  • Ćwiczenia praktyczne: porównanie działania assign(), replace() i reload() w przeglądarce

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego