Junior
JavaScriptda brauzer tarixini qanday boshqarish mumkin, oldinga va ortga harakat qilish orqali?
sobes.tech AI
AIdan javob
Brauzer sessiyasining tarixiga kirish uchun history obyekti mavjud. Boshqarish uchun asosiy metodlar:
history.back(): tarixda bir sahifa ortga qaytadi.history.forward(): tarixda bir sahifa oldinga o'tadi.history.go(delta): tarixda belgilangan qadamlar soniga o'tadi (deltamanfiy bo'lsa, ortga qaytadi).
Foydalanish misoli:
// Oldingi sahifaga qaytish
history.back();
// Keyingi sahifaga o'tish
history.forward();
// Ikki sahifa ortga
history.go(-2);
// Uch sahifa oldinga
history.go(3);
Shuningdek, history obyekti sahifa yangilamasdan tarix holatini boshqarish imkonini beradi, pushState va replaceState metodlari yordamida.
history.pushState(state, title, url): yangi holatni sessiya tarixiga qo'shadi.state: tarix yozuvi bilan bog'liq holat obyekti.title: sahifa sarlavhasi (ko'p brauzerlar uni e'tiborga olmaydi).url: tarix yozuvi bilan bog'liq URL.
history.replaceState(state, title, url): hozirgi holatni tarixda o'zgartiradi.
pushState bilan misol:
// Yangi holat qo'shish
history.pushState({ page: 1 }, "Sahifa 1", "/page1");
// Sahifa to'liq yangilamasdan keyingi harakatlar
// Foydalanuvchi "ortga" tugmasini bosganda, popstate voqeasi yuzaga keladi
window.addEventListener('popstate', function(event) {
console.log('Holat o`zgardi:', event.state); // { page: 1 }
// Sahifa mazmunini holatga mos ravishda yangilash
});
replaceState bilan misol:
// Hozirgi holatni o'zgartirish
history.replaceState({ tab: 'active' }, "Faol tab", "/active-tab");
popstate voqeasi sessiya tarixidagi yozuv faollashtirilganda yuzaga keladi.