Junior
JavaScript-də brauzer tarixini necə idarə etmək olar, irəli və geri hərəkət edərək?
sobes.tech Süni İntellekt
AI-dan cavab
history obyekti brauzerin sessiya tarixinə giriş imkanı verir. İdarə etmək üçün əsas metodlar:
history.back(): tarixdə bir səhifə geri qayıdır.history.forward(): tarixdə bir səhifə irəli gedir.history.go(delta): tarixdə göstərilən addım sayına keçid edir (deltamənfi ola bilər, geri qayıtmaq üçün).
İstifadə nümunəsi:
// Əvvəlki səhifəyə qayıt
history.back();
// Növbəti səhifəyə keç
history.forward();
// İki səhifə geri
history.go(-2);
// Üç səhifə irəli
history.go(3);
Həmçinin, history obyekti səhifəni yeniləmədən tarix vəziyyətini idarə etməyə imkan verir; pushState və replaceState metodlarından istifadə edilir.
history.pushState(state, title, url): yeni vəziyyət əlavə edir.state: tarix qeydiylə əlaqəli vəziyyət obyekti.title: səhifənin başlığı (əksər brauzerlər tərəfindən nəzərə alınmır).url: tarix qeydiylə əlaqəli URL.
history.replaceState(state, title, url): cari vəziyyəti dəyişdirir.
pushState nümunəsi:
// Yeni vəziyyət əlavə et
history.pushState({ page: 1 }, "Səhifə 1", "/page1");
// Tam yeniləmədən səhifədə əməliyyatlar
// İstifadəçi "geri" düyməsini basdıqda, `popstate` hadisəsi baş verir
window.addEventListener('popstate', function(event) {
console.log('Vəziyyət dəyişdi:', event.state); // { page: 1 }
// Səhifənin məzmununu vəziyyətə uyğun yenilə
});
replaceState nümunəsi:
// Cari vəziyyəti dəyişdir
history.replaceState({ tab: 'active' }, "Aktiv tab", "/active-tab");
popstate hadisəsi sessiya tarixində qeyd aktivləşdirildikdə baş verir.