J'utilise ce code pour détecter la page d'accueil et cela fonctionne très bien:
var url= window.location.href;
if(url.split("/").length>3){
alert('You are in the homepage');
}
Mon problème est que je dois également détecter si l'url contient des variables, par exemple:
mysite.com?variable=something
Je dois également détecter si l'URL contient également des variables
Comment puis-je faire ceci?
Jetez un oeil à la window.location docs , les informations que vous souhaitez se trouvent dans location.search
, donc une fonction pour le vérifier pourrait simplement être:
function url_has_vars() {
return location.search != "";
}
En utilisant window.location.pathname
pourrait aussi fonctionner:
if ( window.location.pathname == '/' ){
// Index (home) page
} else {
// Other page
console.log(window.location.pathname);
}
Vous pouvez savoir si vous êtes sur la page d'accueil en comparant href à Origin:
window.location.Origin == window.location.href
Pour obtenir les paramètres de requête, vous pouvez utiliser la réponse ici: Comment puis-je obtenir des valeurs de chaîne de requête en JavaScript?
si l'URL actuelle est xxxxx.com quelque chose comme ça, alors xxx
if (window.location.href.split('/').pop() === "") {
//this is home page
}
Pour ce faire, vous avez besoin d'une fonction de recherche de chaîne de requête.
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, " "));
}
Avant de rediriger, vérifiez la chaîne de requête et faites correspondre la valeur attendue et redirigez comme exigence.