Junior
Kako u JavaScript-u upravljati istorijom pregledača, pomerajući se napred i nazad?
sobes.tech АИ
Одговор од АИ
Objekat history omogućava pristup istoriji sesije pregledača. Glavne metode za upravljanje su:
history.back(): vraća jednu stranicu unazad u istoriji.history.forward(): pomera se za jednu stranicu unapred u istoriji.history.go(delta): pomera se za zadati broj koraka u istoriji (deltamože biti negativan za povratak unazad).
Primer upotrebe:
// Povratak na prethodnu stranicu
history.back();
// Prelazak na sledeću stranicu
history.forward();
// Povratak za dve stranice
history.go(-2);
// Napred za tri stranice
history.go(3);
Takođe, objekat history omogućava upravljanje stanjem istorije bez ponovnog učitavanja stranice, koristeći metode pushState i replaceState.
history.pushState(state, title, url): dodaje novo stanje u istoriju sesije.state: objekat stanja povezan sa zapisom u istoriji.title: naslov stranice (većina pregledača ga ignoriše).url: URL povezan sa zapisom u istoriji.
history.replaceState(state, title, url): zamenjuje trenutno stanje u istoriji sesije.
Primer sa pushState:
// Dodavanje novog stanja u istoriju
history.pushState({ page: 1 }, "Stranica 1", "/page1");
// Radnje na stranici bez potpunog ponovnog učitavanja
// Kada korisnik klikne na dugme "nazad", aktiviraće se događaj popstate
window.addEventListener('popstate', function(event) {
console.log('Stanje se promenilo:', event.state); // { page: 1 }
// Ažuriranje sadržaja stranice u skladu sa stanjem
});
Primer sa replaceState:
// Zameniti trenutno stanje u istoriji
history.replaceState({ tab: 'active' }, "Aktivna kartica", "/active-tab");
Događaj popstate aktivira se pri aktiviranju zapisa u istoriji sesije.