2010-03-19 4 views
1

Est-il possible de détecter si un visiteur se trouve sur la page d'index ou sur la racine du domaine avec un script côté client? Je pense que javascript serait la meilleure méthode car je voudrais ajouter une valeur à un fichier image selon que le visiteur est sur la page d'accueil ou non.Détecter si le visiteur est sur la page d'index avec le script côté client

page non-index:

<img src="/img/logo.png" /> 

page Index:

<img src="/img/logo-home.png" /> 

Répondre

6
var homeUrl = 'http://www.example.com'; 
if (document.URL == homeUrl){ 
    // true 
}else{ 
    // false  
} 

Placez maintenant un identifiant sur votre balise image dans le code HTML:

<img src="/img/logo-home.png" id="logotype" /> 

Maintenant, vous peut facilement trouver la balise d'image avec javascript et cha Nge la source de l'image en fonction de l'endroit où vous êtes sur le site.

$(document).ready(function(){ 

    var homeUrl = 'http://www.example.com'; 
    var logotypeHome = '/img/logo-home.png'; 
    var logotypeGeneral = '/img/logo-general.png'; 

    if (document.URL == homeUrl){ 
     $('#logotype').attr("src", logotypeHome); 
    }else{ 
     $('#logotype').attr("src", logotypeGeneral); 
    } 

}); 

Je recommande fortement d'opter pour une solution côté serveur pour ce genre de choses. Si JavaScript n'est pas activé sur le client, cela ne fonctionnera pas. En outre, il pourrait y avoir un flash sur l'image lorsque le javascript change la source du logo.

+1

'document.location.href' est ce que vous cherchez. –

+0

Brillant. Comment pourrais-je définir une valeur et l'écrire dans le document? – sterling

+0

N'oubliez pas de vérifier le fichier d'index aussi s'il y en a un ... http://www.example.com/index.php ou http://www.example.com/home/ pourrait être aussi la page d'accueil. – ChrisR

7

Une autre solution, sans URL de base.

if (window.location.pathname === '/'){ 
    //code for index page 

}else{ 
    //other tasks  
} 
+2

Mieux, car il ne nécessite pas de coder en dur votre domaine dans votre javascript. – brandonscript

Questions connexes