Saya sedang mengembangkan aplikasi web. Di dalamnya saya memiliki bagian yang disebut kategori yang setiap kali pengguna mengklik salah satu kategori, panel pembaruan memuat konten yang sesuai.
Setelah pengguna mengklik kategori yang saya ingin ubah dari url bilah alamat browser
www.mysite.com/products
menjadi sesuatu seperti
www.mysite.com/products/{selectedCat}
tanpa menyegarkan halaman.
Apakah ada semacam API JavaScript yang dapat saya gunakan untuk mencapai ini?
sumber
path
dan / atauquery string
di URL; mereka tidak dapat mengubah protokol, domain, atau port (karena itu akan menjadi masalah keamanan seperti yang ditunjukkan orang lain). Thehash
fungsi di atas dapat mengubah anchor (atau id fragmen)Untuk menambah apa yang orang-orang sudah katakan edit properti window.location.hash agar sesuai dengan URL yang Anda inginkan di fungsi onclick Anda.
sumber
Saya yakin memanipulasi bilah alamat secara langsung ke url yang sama sekali berbeda tanpa pindah ke url itu tidak diperbolehkan untuk alasan keamanan, jika Anda senang dengan hal itu.
www.mysite.com/products/#{selectedCat}
yaitu tautan gaya jangkar dalam halaman yang sama, lalu lihat berbagai skrip riwayat / "tombol kembali" yang sekarang ada di sebagian besar perpustakaan javascript.
Penyebutan panel pembaruan membuat saya menebak Anda menggunakan asp.net, dalam hal ini kontrol riwayat ajax asp.net adalah tempat yang baik untuk memulai
sumber
Menurut saya ini tidak mungkin (setidaknya mengubah ke alamat yang sama sekali berbeda), karena ini akan menjadi penyalahgunaan bilah alamat yang tidak disengaja, dan dapat mendorong serangan phishing.
sumber
Ini tidak bisa dilakukan seperti yang Anda katakan. Metode yang disarankan oleh somej.net adalah yang terdekat yang bisa Anda dapatkan. Ini sebenarnya praktik yang sangat umum di era AJAX. Bahkan Gmail menggunakan ini.
sumber
seperti yang disarankan oleh sanchothefat harus menjadi satu-satunya cara untuk melakukannya. Karena semua tempat yang saya telah melihat fitur ini, selalu setelah # di URL.
sumber