Junior
Hoe beheer je de geschiedenis van de browser in JavaScript, door vooruit en achteruit te navigeren?
sobes.tech AI
Antwoord van AI
Het history-object geeft toegang tot de geschiedenis van de sessies van de browser. De belangrijkste methoden voor beheer zijn:
history.back(): gaat één pagina terug in de geschiedenis.history.forward(): gaat één pagina vooruit in de geschiedenis.history.go(delta): beweegt zich het aantal stappen in de geschiedenis dat is opgegeven (deltakan negatief zijn om terug te gaan).
Voorbeeld van gebruik:
// Terug naar de vorige pagina
history.back();
// Naar de volgende pagina
history.forward();
// Twee pagina's terug
history.go(-2);
// Drie pagina's vooruit
history.go(3);
Daarnaast maakt het history-object het mogelijk om de staat van de geschiedenis te beheren zonder de pagina te herladen, met behulp van de methoden pushState en replaceState.
history.pushState(state, title, url): voegt een nieuwe staat toe aan de sessiegeschiedenis.state: het toestandobject dat gekoppeld is aan de geschiedenisvermelding.title: de titel van de pagina (wordt door de meeste browsers genegeerd).url: de URL die gekoppeld is aan de geschiedenisvermelding.
history.replaceState(state, title, url): vervangt de huidige staat in de sessiegeschiedenis.
Voorbeeld met pushState:
// Toevoegen van een nieuwe staat aan de geschiedenis
history.pushState({ page: 1 }, "Pagina 1", "/page1");
// Acties op de pagina zonder volledige herlaad
// Wanneer de gebruiker op de "terug"-knop drukt, wordt het popstate-evenement geactiveerd
window.addEventListener('popstate', function(event) {
console.log('De staat is gewijzigd:', event.state); // { page: 1 }
// De inhoud van de pagina bijwerken volgens de staat
});
Voorbeeld met replaceState:
// Huidige staat in de geschiedenis vervangen
history.replaceState({ tab: 'active' }, "Actieve tab", "/active-tab");
Het popstate-evenement wordt geactiveerd wanneer een sessiegeschiedenisvermelding wordt geactiveerd.