У меня есть URL, как http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu=true&pcode=1235
.
Я хочу , чтобы получить URL без строки запроса: http://localhost/dms/mduserSecurity/UIL/index.php
.
Есть ли способ для этого в JavaScript? В настоящее время я использую document.location.href
, но он возвращает полный URL.
javascript
url
святой
источник
источник
Ответы:
Попробуй это:
window.location.href.split('?')[0]
источник
#
термин в stackoverflow.com/questions/5817505#5817548 ). Вы должны будете использовать регулярное выражение или несколько функций .split (), и в этот момент вы потеряли значение этого «простого» ответа при очистке URL. Конечно, это технически выходит за рамки вопроса, но я бы сказал, что это все еще актуально.Читайте о
Window.location
иLocation
интерфейс:источник
${location.protocol}//${location.host}${location.pathname}
pathname
может опустить ведущий/
(до IE 11?) . Ах, IE, всегда снежинка, не так ли?источник
location.href.replace(location.search, '')
источник
Если вы также хотите удалить хеш, попробуйте следующее:
window.location.href.split(/[?#]/)[0]
источник
Пытаться:
(Примечание:
.host
вместо того,.hostname
чтобы порт включался, если необходимо)источник
Вот подход с использованием интерфейса URL () :
источник
просто обрежьте строку, используя split (простой способ):
источник
Чтобы получить все части URL, кроме запроса:
Обратите внимание, что это включает и хэш, если он есть (я знаю, что в вашем примере URL нет хэша, но я включил этот аспект для полноты). Чтобы устранить хеш, просто исключите
.concat(location.hash)
.Лучше использовать
concat
для объединения строк Javascript вместе (а не+
): в некоторых ситуациях это позволяет избежать проблем, таких как путаница типов.источник
Используйте свойства
window.location
Вы можете увидеть больше свойств на https://developer.mozilla.org/en/DOM/window.location
источник
Вот два метода:
источник
Как насчет этого:
location.href.slice(0, - ((location.search + location.hash).length))
источник
Просто добавьте эти две строки в $ (document) .ready в JS следующим образом:
лучше использовать знак доллара ($) (Конец с)
вместо (^) (начать с)
потому что, если вы используете знак (^) и у вас есть вложенные URL в меню навигации (например, "/ account" и "/ account / role")
Это активирует их обоих.
источник
Если вы используете dot net core 3.1, он игнорирует регистр маршрут , поэтому предыдущий способ не поможет, если маршрут написан строчными буквами, а пользователь записывает маршрут заглавными буквами.
Итак, следующий код очень полезен:
источник