2009-11-29 6 views
0

Nous avons l'application avec l'interface des onglets. Actuellement, chaque onglet est chargé en tant que page séparée. Et maintenant, nous devons le retravailler de la façon dont le contenu des onglets devrait être chargé via ajax.Onglets Ajax dans l'application Web

Malheureusement juste charger le contenu est avec Ajax pas assez. L'utilisateur doit pouvoir ajouter des signets à chaque onglet. C'est pourquoi l'URL entière devrait changer sur le changement d'onglet. En outre, l'indexation des robots ne devrait pas poser de problèmes en suivant le lien dans l'onglet.

je vis une belle solution sur les onglets Facebook: ils utilisent l'ancre pour stocker l'URL comme ceci: http://www.facebook.com/profile.php?v=info&ref=profile&id=1241403629#/profile.php?v=wall&ref=profile&id=1241403629

Comment puis-je mettre en œuvre cette solution avec jQuery? Existe-t-il un plugin prêt à l'emploi?

chose aussi fraîche est que, après un clic sur un tel signet Facebook me redirige automatiquement vers: http://www.facebook.com/profile.php?v=wall&ref=profile&id=1241403629

Comment est-ce possible?

Répondre

1

Vous pouvez en effet passer un paramètre via la chaîne de requête ou utiliser une ancre ...

vous retardez la charge des onglets de la page charger, vous vérifiez le paramètre, puis vous chargez l'onglet approprié.

Exemple si vous avez:

/yoururl.aspx#section1 

Sur la charge de page vous faire (EDIT: voir mon commentaire ci-dessous):

$('#tabs_placeholder').load('url_of_tab_1'); 

Vous faites conditionnellement cela pour tous vos onglets

Cette solution fonctionne pour les signets car les ancres et la chaîne de requête sont conservées ainsi que l'URL.

Hope this helps

PS. Voici la documentation de la fonction de chargement et d'autres fonctions de jQuery AJAX: http://docs.jquery.com/Ajax

+0

Je veux juste faire remarquer que si vous voulez être correctement indexé, vous devez charger la page avec le contenu approprié sur le chargement de la page. En d'autres termes, lorsque la page arrive du serveur, elle doit être correctement remplie avec l'onglet approprié. Ensuite, si les utilisateurs modifient les onglets du côté client, vous pouvez le faire dans AJAX. –