document.referrer
dalam banyak kasus akan memberi Anda URL halaman terakhir yang dikunjungi pengguna, jika mereka sampai ke halaman saat ini dengan mengklik tautan (dibandingkan mengetik langsung ke bilah alamat, atau saya percaya dalam beberapa kasus, dengan mengirimkan formulir?). Ditentukan oleh DOM Level 2 . Lebih lanjut di sini.
window.history
memungkinkan navigasi, tetapi tidak akses ke URL di sesi karena alasan keamanan dan privasi. Jika riwayat URL yang lebih rinci tersedia, maka setiap situs yang Anda kunjungi dapat melihat semua situs lain yang pernah Anda kunjungi.
Jika Anda berurusan dengan keadaan bergerak di sekitar situs Anda sendiri, maka itu mungkin kurang rapuh dan tentu saja lebih berguna untuk menggunakan salah satu teknik manajemen sesi normal: data cookie, params URL, atau info sesi sisi server.
document.referrer
tidak selalu berfungsi.$.cookie("previousUrl", window.location.href, {path:"/"});
.Jika Anda ingin pergi ke halaman sebelumnya tanpa mengetahui url, Anda dapat menggunakan api Riwayat baru.
Tetapi Anda tidak dapat memanipulasi konten tumpukan riwayat di browser yang tidak mendukung API Riwayat HTML5
Untuk informasi lebih lanjut lihat dokumen
sumber
document.referrer
tidak sama dengan URL aktual di semua situasi.Saya memiliki aplikasi di mana saya perlu membuat frameset dengan 2 frame. Satu frame diketahui, yang lainnya adalah halaman yang saya tautkan. Tampaknya itu
document.referrer
akan ideal karena Anda tidak harus memberikan nama file yang sebenarnya ke dokumen frameset.Namun, jika Anda kemudian mengubah halaman bingkai bawah dan kemudian menggunakannya
history.back()
tidak memuat halaman asli ke dalam bingkai bawah, melainkan memuat ulangdocument.referrer
dan sebagai akibatnya frameset hilang dan Anda kembali ke jendela awal yang asli.Butuh beberapa saat untuk memahami hal ini. Jadi dalam array sejarah,
document.referrer
bukan hanya URL, itu juga spesifikasi jendela pengarah. Setidaknya, itulah cara terbaik yang saya bisa memahaminya saat ini.sumber
Jika Anda menulis aplikasi web atau aplikasi halaman tunggal (SPA) di mana perutean terjadi di app / browser daripada bolak-balik ke server, Anda dapat melakukan hal berikut:
Kemudian, di rute baru Anda, Anda dapat melakukan hal berikut untuk mengambil URL sebelumnya:
sumber
Anda yang menggunakan Node.js dan Express dapat mengatur cookie sesi yang akan mengingat URL halaman saat ini, sehingga memungkinkan Anda untuk memeriksa perujuk pada pemuatan halaman berikutnya. Berikut ini contoh yang menggunakan
express-session
middleware:Anda kemudian dapat memeriksa keberadaan cookie pengarah seperti:
Jangan berasumsi bahwa cookie pengarah selalu ada dengan metode ini karena tidak akan tersedia pada kasus di mana URL sebelumnya adalah situs web lain, sesi dibersihkan atau baru saja dibuat (memuat situs web pertama kali).
sumber
document.referrer
melayani tujuan Anda, tetapi tidak berfungsi untuk versi Internet Explorer lebih awal dari IE9.Ini akan berfungsi untuk browser populer lainnya, seperti Chrome, Mozilla, Opera, Safari dll.
sumber
Ini akan menavigasi ke URL yang sebelumnya dikunjungi.
sumber