Jendela browser memiliki objek riwayat, yang digunakan untuk menyimpan riwayat penelusuran.
Jika jendela saat ini telah mengunjungi tiga URL, maka objek riwayat mencakup tiga item, dan properti history.length sama dengan 3.
Objek history menyediakan serangkaian metode yang memungkinkan perpindahan antar riwayat penelusuran:
window.history.back(): Pindah ke halaman yang dikunjungi sebelumnya, setara dengan tombol kembali browser.
window.history.forward(): Pindah ke halaman yang dikunjungi berikutnya, setara dengan tombol penerusan browser.
window.history.go(num): menerima integer sebagai parameter dan berpindah ke halaman yang ditentukan oleh integer. Misalnya, go(1) setara dengan forward(), dan go(-1) setara dengan back( ).
window.history.pushState(): HTML5 menambahkan dua metode baru ke objek riwayat, window.history.pushState() dan window.history.replaceState(), yang digunakan untuk menambah dan mengubah catatan dalam riwayat penelusuran.
Catatan: 1. Jika posisi yang dipindahkan melebihi batas riwayat akses, ketiga metode di atas tidak melaporkan kesalahan, tetapi gagal secara diam-diam.
2. Saat pengaturan, halaman biasanya dimuat dari cache browser alih-alih meminta ulang server untuk mengirim halaman web baru.
Mari fokus pada: window.history.pushState()window.history.pushState(status, judul, utl), membuat entitas riwayat di halaman. Tambahkan langsung ke riwayat.
Di antara parameternya:
state: Objek status yang terkait dengan URL yang ditentukan. Saat peristiwa popstate dipicu, objek ini akan diteruskan ke fungsi panggilan balik. Jika objek ini tidak diperlukan, null dapat diisi di sini.
title: Judul halaman baru, tetapi semua browser saat ini mengabaikan nilai ini, sehingga null dapat diisi di sini.
url: URL baru harus berada dalam domain yang sama dengan halaman saat ini. Bilah alamat browser Anda akan menampilkan URL ini.
Catatan: Metode pushState tidak akan memicu penyegaran halaman, ini hanya akan menyebabkan objek riwayat berubah, dan bilah alamat akan bereaksi.
Contoh implementasi:Html5 mendengarkan dan mencegat metode kunci pengembalian Android sebagai berikut:
1. Dengarkan acara popstate
window.addEventListener(popstate, function(){ //doSomething}, false)
2. Batalkan operasi pengembalian default, yaitu mendengarkan intersepsi kunci pengembalian: tambahkan entitas riwayat kosong sebagai pengganti entitas riwayat asli
window.history.pushState(null, null, #);
Contoh:
<!DOCTYPE html><html> <nama meta=konten viewport=lebar=lebar perangkat> <tipe skrip=teks/javascript> var count = 0; window.history.pushState(null, null, #); (popstate, function(e) { window.history.pushState(null, null, #); document.getElementById('logView').innerHTML = Klik pengguna kembali + (++count) }) </script><body> <p id=logView>test</p></body></html>
Di atas adalah keseluruhan isi artikel ini, saya harap dapat bermanfaat untuk pembelajaran semua orang. Saya juga berharap semua orang mendukung VeVb Wulin Network.