Saya juga bermimpi tentang chrome (saluran dev) menerapkan cara untuk memperbarui bilah alamat melalui javascript (path, bukan domain) tanpa memuat ulang halaman atau mereka benar-benar telah melakukan ini.
Namun, saya tidak dapat menemukan artikel yang saya pikir saya baca.
Apakah saya gila atau ada cara untuk melakukan ini (di Chrome)?
ps Saya tidak berbicara tentang window.location.hash, et al. Jika jawaban di atas ada , jawaban untuk pertanyaan ini tidak benar.
javascript
ajax
google-chrome
David Murdoch
sumber
sumber
Jawaban:
Anda sekarang dapat melakukan ini di sebagian besar browser "modern"!
Berikut adalah artikel asli yang saya baca (diposting 10 Juli 2010): HTML5: Mengubah URL browser tanpa halaman yang menyegarkan .
Untuk melihat lebih dalam tentang pushState / replaceState / popstate (alias API Riwayat HTML5) lihat dokumen MDN .
TL; DR, Anda dapat melakukan ini:
Lihat jawaban saya untuk Memodifikasi URL tanpa memuat ulang halaman untuk cara dasar.
sumber
../new-url
atau../../new-url
. Mereka tampaknya melakukan apa yang Anda harapkan di Chrome setidaknya.Mengubah hanya apa setelah hash - browser lama
Mengubah URL lengkap. Chrome, Firefox, IE10 +
Di atas akan menambah entri baru ke riwayat sehingga Anda dapat menekan tombol Kembali untuk pergi ke keadaan sebelumnya. Untuk mengubah URL di tempat tanpa menambahkan entri baru ke riwayat gunakan
Coba jalankan ini di konsol sekarang!
sumber
replaceState
persis apa yang saya butuhkan, terima kasih untuk memperluas tanggapan asli.history.replaceState
tambahkan ke sejarah di ff 66.0b1Pembaruan untuk jawaban Davids bahkan mendeteksi browser yang tidak mendukung pushstate:
sumber
sumber