回答:
これを試して: window.location.href.split('?')[0]
#
用語)。正規表現を使用するか、複数の.split()関数を使用する必要があります。この時点で、URLをクレンジングする際の「単純な」答えであるこの値を失いました。これは技術的には質問の範囲を超えていますが、関連性はあると思います。
Window.location
とLocation
インターフェースについて読む:
var url = [location.protocol, '//', location.host, location.pathname].join('');
${location.protocol}//${location.host}${location.pathname}
location.toString().replace(location.search, "")
location.href.replace(location.search, '')
var url = window.location.origin + window.location.pathname;
ハッシュも削除したい場合は、これを試してください: window.location.href.split(/[?#]/)[0]
URL()インターフェースを使用したアプローチは次のとおりです。
new URL(location.pathname, location.href).href
クエリを除くURLのすべての部分を取得するには:
var url = (location.origin).concat(location.pathname).concat(location.hash);
ハッシュがある場合は、これにもハッシュが含まれることに注意してください(例のURLにはハッシュがないことは承知していますが、完全性のためにそのアスペクトを含めました)。ハッシュを削除するには、単に除外し.concat(location.hash)
ます。
を使用concat
するよりも、JavaScript文字列を結合するのに使用することをお勧めします+
。状況によっては、型の混乱などの問題を回避できます。
のプロパティを使用する window.location
var loc = window.location;
var withoutQuery = loc.hostname + loc.pathname;
var includingProtocol = loc.protocol + "//" + loc.hostname + loc.pathname;
https://developer.mozilla.org/en/DOM/window.locationでより多くのプロパティを見ることができます
2つの方法は次のとおりです。
<script type="text/javascript">
var s="http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu
=true&pcode=1235";
var st=s.substring(0, s.indexOf("?"));
alert(st);
alert(s.replace(/\?.*/,''));
</script>
これはどう: location.href.slice(0, - ((location.search + location.hash).length))
次のように、JSでこれらの2行を$(document).readyに追加します。
$(document).ready(function () {
$("div.sidebar nav a").removeClass("active");
$('nav a[href$="'+ window.location.pathname.split("?")[0] +'"]').addClass('active');
});
ドル記号($)を使用することをお勧めします(次で終わる)
$('nav a[href$
代わりに(^)(で始まる)
$('nav a[href^
(^)記号を使用し、ナビゲーションメニューにネストされたURLがある場合(例: "/ account"と "/ account / roles")
それらの両方をアクティブにします。
ドットネットコア3.1を使用している場合は、ルート無視がサポートされているため、ルートが小文字で、ユーザーがルートを大文字で記述している場合、前の方法は役に立ちません。
したがって、次のコードは非常に役立ちます。
$(document).ready(function () {
$("div.sidebar nav a").removeClass("active");
var urlPath = window.location.pathname.split("?")[0];
var nav = $('div.sidebar nav a').filter(function () {
return $(this).attr('href').toLowerCase().indexOf(urlPath.toLocaleLowerCase()) > -1;
});
$(nav).each(function () {
if ($(this).attr("href").toLowerCase() == urlPath.toLocaleLowerCase())
$(this).addClass('active');
});
});