JS History API Pushstate SPA
Ringkasan
History API mengubah URL tanpa reload penuh — fondasi routing SPA.
Konsep Dasar
history.pushState(state, "", url)— tambah entri history + ubah URL.history.replaceState()— ubah entri saat ini tanpa tambah.popstateevent saat user navigasi back/forward.- Gunakan
<a>+ intercept untuk aksesibilitas (bukan hanya JS murni).
Cara Kerja / Struktur
document.querySelectorAll("a[data-link]").forEach(a =>
a.addEventListener("click", e => {
e.preventDefault();
history.