Est-il possible de déclencher un javascript pour lancer quand un point d'ancrage particulier est sélectionné?

voix
3

Dire que j'ai une ancre sur une page Web comme ceci:

<a name=comegetit></a>

Est - il possible d'exécuter un javascript si la page est arrivé à un lien qui atterrit sur ce point d' ancrage? (par exemple un lien comme <a href=http://myawesomewebpage.com/page#comegetit></a>). Je ne pense pas qu'il y ait , mais je voudrais qu'il y ait.

Créé 29/03/2010 à 04:13
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
3

Si vous vous attendez que celui-chaîne comme l'ancre URL:

if(window.location.hash == '#comegetit'){
  // Do your stuff.
}

Si vous faites quoi que ce soit d' autre complexe, vous pouvez également correspondre window.location.hashà une expression régulière.

Créé 29/03/2010 à 04:22
source utilisateur

voix
2

J'utilise Histoire Really Simple ( http://code.google.com/p/reallysimplehistory/ )

Puis, dans mon code que je fais quelque chose comme ceci:

window.dhtmlHistory.create();
window.dhtmlHistory.initialize();   
window.dhtmlHistory.addListener(function(hash){
    // this is where you process your hash and do something special
    // and totally funky
});

Ce même se tire sur la charge de la page initiale, si vous arrivez à marquer une balise de hachage ou autres joyeusetés.

Très utile, et fait abstraction de tous les BS spécifique du navigateur qui vient avec window.location.hash

Josh

Créé 29/03/2010 à 04:31
source utilisateur

voix
1

Vous pouvez essayer d'agir sur l'événement onload et vérifier le contenu window.location pour extraire l'identifiant de fragment ... il devrait fonctionner.

Créé 29/03/2010 à 04:18
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more