Junior
Ako v JavaScripte spravovať históriu prehliadača, pohybovaním dopredu a dozadu?
sobes.tech AI
Odpoveď od AI
Objekt history poskytuje prístup k histórii relácie prehliadača. Hlavné metódy na správu sú:
history.back(): vráti o jednu stránku späť v histórii.history.forward(): posunie o jednu stránku dopredu v histórii.history.go(delta): pohne sa o zadaný počet krokov v histórii (deltamôže byť záporné na návrat späť).
Príklad použitia:
// Návrat na predchádzajúcu stránku
history.back();
// Prechod na nasledujúcu stránku
history.forward();
// Návrat o dve stránky späť
history.go(-2);
// Dopredu o tri stránky
history.go(3);
Okrem toho, objekt history umožňuje spravovať stav histórie bez načítania stránky, pomocou metód pushState a replaceState.
history.pushState(state, title, url): pridá nový stav do histórie relácie.state: objekt stavu spojený s položkou histórie.title: názov stránky (väčšina prehliadačov ho ignoruje).url: URL spojené s položkou histórie.
history.replaceState(state, title, url): nahradí aktuálny stav v histórii relácie.
Príklad s pushState:
// Pridanie nového stavu do histórie
history.pushState({ page: 1 }, "Stránka 1", "/page1");
// Akcie na stránke bez úplného načítania
// Keď používateľ klikne na tlačidlo "späť", aktivuje sa udalosť popstate
window.addEventListener('popstate', function(event) {
console.log('Stav sa zmenil:', event.state); // { page: 1 }
// Aktualizácia obsahu stránky podľa stavu
});
Príklad s replaceState:
// Nahradenie aktuálneho stavu v histórii
history.replaceState({ tab: 'active' }, "Aktívna záložka", "/active-tab");
Udalosť popstate sa aktivuje pri aktivácii záznamu v histórii relácie.