1

J'ai une section à onglet sur un site Web que je suis en train de développer, et j'aimerais activer des URL uniques pour chaque onglet, ainsi que le support de l'historique.Adresse jQuery/lien profond Numéro

Il semble que le plugin jQuery Address soit la solution, mais j'ai du mal à l'implémenter. Je suis en mesure d'attribuer des URL et de changer la barre d'adresse. Le bouton de retour permet de parcourir les URL, mais ne modifie pas réellement les onglets.

La documentation de l'adresse n'est pas géniale. Je suppose qu'il me manque une sorte d'écouteur d'événement, mais je ne suis pas sûr de savoir comment l'initialiser ou à quoi l'appliquer.

Voici mon JS

$('.sm-tab').click(function() { 
    $.address.value($('a', this).attr('href')); 
    smReset(); 
    $('#sm-tabs').find('.active').each(function() { 
     $(this).removeClass('active'); 
     $(this).addClass('inactive'); 
    }); 
    $(this).removeClass('inactive'); 
    $(this).addClass('active'); 
    var smClassArray = $(this).attr('class').split(" "); 
    var smDivClass = smClassArray[1]; 
    $('#'+smDivClass).show(); 
}); 

Mon HTML ressemble à ceci

<div id="sm-tabs"> 
    <div class="sm-tab inactive twitter"> 
     <span class="twitter sprite-sm-twitter"><a href="?tab=twitter" class="hidetext">Twitter</a></span> 
    </div> 
    <div class="sm-tab inactive youtube"> 
     <span class="youtube sprite-sm-youtube"><a href="?tab=youtube" class="hidetext">YouTube</a></span> 
    </div> 
</div> 

<div id="sm-widgets"> 
    <div id="twitter"> 
     Content 
    </div> 
    <div id="youtube"> 
     Content 
    </div> 
</div> 
+0

Voir: http://stackoverflow.com/questions/172957/detection-back-button-hash-change-in-url –

Répondre

1

En utilisant hash pour la navigation ajax va vous ouvrir à a whole can of worms.

Essayez this deep-linking script qui utilise plutôt l'API HTML5 History.

+0

En fait, je dois éviter d'utiliser des hachages complètement. J'ai une redirection d'authentification YouTube qui écrase et hache quand il revient à ma page. J'espérais que je pourrais obtenir l'adresse de travail sans hachages, mais il semble que ce ne soit pas possible? – Derek

+0

Bien sûr, utilisez le script de liens profonds mentionné, mais n'incluez pas 'history.html4.js' qui est le support HTML4 (aka les trucs de hachage). – balupton