私はこのコードを使用してホームページを検出していますが、うまく機能しています:
var url= window.location.href;
if(url.split("/").length>3){
alert('You are in the homepage');
}
私の問題は、URLに変数があるかどうかも検出する必要があることです:
mysite.com?variable=something
URLにも変数があるかどうかも検出する必要があります
これどうやってするの?
window.location docs をご覧ください。必要な情報はlocation.search
、したがって、チェックする関数は次のようになります。
function url_has_vars() {
return location.search != "";
}
window.location.pathname
を使用しても動作します。
if ( window.location.pathname == '/' ){
// Index (home) page
} else {
// Other page
console.log(window.location.pathname);
}
window.location.pathnameのMDN情報 を参照してください。
ホームページを表示しているかどうかは、hrefとOriginを比較して確認できます。
window.location.Origin == window.location.href
クエリパラメータを取得するには、ここで答えを使用できます。 JavaScriptでクエリ文字列値を取得するにはどうすればよいですか?
現在のURLがxxxxx.comのようなものであれば、xxx
if (window.location.href.split('/').pop() === "") {
//this is home page
}
これを行うには、クエリ文字列検索関数が必要です。
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, " "));
}
リダイレクトする前に、クエリ文字列を確認し、期待値と一致させて、要件としてリダイレクトします。