Mam adres URL podobny do http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu=true&pcode=1235
.
Chcę uzyskać adres URL bez ciągu zapytania: http://localhost/dms/mduserSecurity/UIL/index.php
.
Czy jest jakaś metoda na to w JavaScript? Obecnie używam document.location.href
, ale zwraca pełny adres URL.
javascript
url
święty
źródło
źródło
Odpowiedzi:
Spróbuj tego:
window.location.href.split('?')[0]
źródło
#
Termin w stackoverflow.com/questions/5817505#5817548 ). Będziesz musiał użyć wyrażenia regularnego lub wielu funkcji .split (), w którym to momencie straciłeś wartość, ponieważ jest to „prosta” odpowiedź przy czyszczeniu adresu URL. To prawda, że z technicznego punktu widzenia jest to poza zakresem pytania, ale powiedziałbym, że jest nadal aktualne.Przeczytaj o
Window.location
orazLocation
interfejs:źródło
${location.protocol}//${location.host}${location.pathname}
pathname
może upuścić wiodące/
(do IE 11?) . Ach, IE, zawsze płatek śniegu, prawda?źródło
location.href.replace(location.search, '')
źródło
Jeśli chcesz również usunąć skrót, wypróbuj ten:
window.location.href.split(/[?#]/)[0]
źródło
Próbować:
(Uwaga:
.host
zamiast.hostname
tego dołącza się również port, jeśli to konieczne)źródło
Oto podejście wykorzystujące interfejs URL () :
źródło
po prostu wytnij sznur za pomocą podziału (prosty sposób):
źródło
Aby uzyskać każdą część adresu URL oprócz zapytania:
Zauważ, że dotyczy to również skrótu, jeśli taki istnieje (wiem, że nie ma skrótu w twoim przykładowym adresie URL, ale podałem ten aspekt dla kompletności). Aby wyeliminować skrót, po prostu wyklucz
.concat(location.hash)
.Lepszą praktyką jest
concat
łączenie ze sobą ciągów JavaScript (zamiast+
): w niektórych sytuacjach pozwala to uniknąć problemów, takich jak pomylenie tekstu.źródło
Użyj właściwości
window.location
Możesz zobaczyć więcej właściwości na https://developer.mozilla.org/en/DOM/window.location
źródło
Oto dwie metody:
źródło
Co powiesz na to:
location.href.slice(0, - ((location.search + location.hash).length))
źródło
Wystarczy dodać te dwie linie do $ (dokumentu) .ready w JS w następujący sposób:
lepiej jest użyć znaku dolara ($) (End with)
zamiast (^) (Zacznij od)
ponieważ jeśli używasz znaku (^) i zagnieżdżasz adresy URL w menu nawigacyjnym, (np. „/ account” i „/ account / roles”)
Aktywuje oba z nich.
źródło
Jeśli używasz dot net core 3.1, obsługuje ignorowanie wielkości liter trasy, więc poprzedni sposób nie jest pomocny, jeśli trasa jest pisana małymi literami, a użytkownik zapisuje trasę wielkimi literami.
Tak więc następujący kod jest bardzo pomocny:
źródło