Saya punya URL suka http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu=true&pcode=1235
.
Saya ingin mendapatkan URL tanpa string query: http://localhost/dms/mduserSecurity/UIL/index.php
.
Apakah ada metode untuk ini dalam JavaScript? Saat ini saya menggunakan document.location.href
, tetapi mengembalikan URL lengkap.
javascript
url
santo
sumber
sumber
Jawaban:
Coba ini:
window.location.href.split('?')[0]
sumber
#
istilah dalam stackoverflow.com/questions/5817505#5817548 ). Anda harus menggunakan regex atau menggunakan beberapa fungsi .split (), saat itu Anda kehilangan nilai karena menjadi jawaban "sederhana" saat membersihkan URL. Memang ini secara teknis di luar cakupan pertanyaan, tetapi saya akan mengatakan itu masih relevan.Baca tentang
Window.location
danLocation
antarmuka:sumber
${location.protocol}//${location.host}${location.pathname}
pathname
dapat menjatuhkan terkemuka/
(sampai IE 11?) . Ah, IE, selalu kepingan salju, bukan?sumber
location.href.replace(location.search, '')
sumber
Jika Anda juga ingin menghapus hash, coba yang ini:
window.location.href.split(/[?#]/)[0]
sumber
Mencoba:
(NB:
.host
daripada.hostname
agar port disertakan juga, jika perlu)sumber
Berikut ini pendekatan menggunakan antarmuka URL () :
sumber
cukup potong string menggunakan split (cara mudah):
sumber
Untuk mendapatkan setiap bagian dari URL kecuali kueri:
Perhatikan bahwa ini termasuk hash juga, jika ada (saya sadar tidak ada hash di URL contoh Anda, tapi saya memasukkan aspek itu untuk kelengkapan). Untuk menghilangkan hash, cukup singkirkan
.concat(location.hash)
.Ini praktik yang lebih baik untuk digunakan
concat
untuk menggabungkan string Javascript bersama (daripada+
): dalam beberapa situasi menghindari masalah seperti jenis kebingungan.sumber
Gunakan properti dari
window.location
Anda dapat melihat lebih banyak properti di https://developer.mozilla.org/en/DOM/window.location
sumber
Berikut adalah dua metode:
sumber
Bagaimana dengan ini:
location.href.slice(0, - ((location.search + location.hash).length))
sumber
Cukup tambahkan dua baris ini ke $ (dokumen). Sudah di JS sebagai berikut:
lebih baik menggunakan tanda dolar ($) (Akhiri dengan)
alih-alih (^) (Mulai dengan)
karena, jika Anda menggunakan tanda (^) dan Anda memiliki URL bersarang di menu navigasi, (mis. "/ akun" dan "/ akun / peran")
Ini akan mengaktifkan keduanya.
sumber
Jika Anda menggunakan dot net core 3.1, mendukung case abaikan rute, jadi cara sebelumnya tidak membantu jika kekalahan dalam huruf kecil dan pengguna menulis kekalahan dalam huruf kapital.
Jadi, kode berikut ini sangat membantu:
sumber