26

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

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

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

mysite.com?variable=something

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

これどうやってするの?

4

6 に答える 6

76

を使用window.location.pathnameすることもできます:

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

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

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

于 2015-04-22T04:48:13.787 に答える
14

href を origin と比較することで、ホームページにアクセスしているかどうかを確認できます。

window.location.origin == window.location.href

クエリ パラメータを取得するには、次の回答を使用できます: How can I get query string values in JavaScript?

于 2013-06-24T08:34:15.693 に答える
6

window.location docsを見てください。必要な情報は にlocation.searchあるため、それを確認する関数は次のようになります。

function url_has_vars() {
   return location.search != "";
}
于 2013-06-24T08:34:15.543 に答える
2

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

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, " "));  
}

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

于 2013-06-24T08:38:14.390 に答える