web-dev-qa-db-ja.com

JQueryは、ホームページおよびホームページプラスURL変数にあるかどうかを検出します

私はこのコードを使用してホームページを検出していますが、うまく機能しています:

var url= window.location.href;
if(url.split("/").length>3){
    alert('You are in the homepage');
}

私の問題は、URLに変数があるかどうかも検出する必要があることです:

mysite.com?variable=something

URLにも変数があるかどうかも検出する必要があります

これどうやってするの?

20
Satch3000

window.location docs をご覧ください。必要な情報はlocation.search、したがって、チェックする関数は次のようになります。

function url_has_vars() {
   return location.search != "";
}
5
Nelson

window.location.pathnameを使用しても動作します。

if ( window.location.pathname == '/' ){
    // Index (home) page

} else {
    // Other page
    console.log(window.location.pathname);
}

window.location.pathnameのMDN情報 を参照してください。

57
Bradley Flood

ホームページを表示しているかどうかは、hrefとOriginを比較して確認できます。

window.location.Origin == window.location.href

クエリパラメータを取得するには、ここで答えを使用できます。 JavaScriptでクエリ文字列値を取得するにはどうすればよいですか?

11
Mataniko

現在のURLがxxxxx.comのようなものであれば、xxx

if (window.location.href.split('/').pop() === "") { 
    //this is home page
}
2
benlo335

これを行うには、クエリ文字列検索関数が必要です。

function getParameterByName(name) {  
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");  
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),  
        results = regex.exec(location.search);  
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));  
}

リダイレクトする前に、クエリ文字列を確認し、期待値と一致させて、要件としてリダイレクトします。

2
Sudip Pal