Sobes.tech
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 (delta manfiy 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.