2009-12-13 4 views
0

Sur mon site, je présente un diaporama de contenu, pour lequel j'utilise jquery. Ainsi, l'utilisateur cliquera sur une flèche et le div suivant (qui est caché par défaut) s'affichera. Au sein de chaque div, (se montrant ou non) il y a cachées des balises span contenant le titre du contenu que l'utilisateur regarde et un résumé du contenu ...PHP (?) Ou jQuery (?) Meilleure méthode pour changer les méta-tags?

<div id="content" style="display:block"> 
     <h2>Relevance of Oceanography</h2> 
     <p>Some text</p> 
     <span class="hiddentitle" style="display:none">Relevance of Oceanography</span> 
     <span class="hiddencontent" style="display:none">Some content</span> 
    </div> 

    <div id="content" style="display:none"> 
     <h2>Seafloor Spreading and Earthquake Activity</h2> 
     <p>Some text</p> 
     <span class="hiddentitle" style="display:none">Seafloor Spreading and Earthquake Activity</span> 
     <span class="hiddencontent" style="display:none">Some content</span> 
    </div> 

Ce que je suis en train de faire est de remplacer ou de mettre à jour l'étiquette en fonction du contenu de l'attribut div actuellement affiché. Puisqu'il est stocké dans une base de données, j'ai pensé que je pourrais juste utiliser php, mais ensuite, j'ai réalisé que cela signifierait probablement que je devrais recharger la page chaque fois, ce qui va à l'encontre du but d'un diaporama ... alors, si j'utilise jquery, je suis préoccupé par le fait que les moteurs de recherche ne verront pas réellement le contenu des méta, car cela changera après le chargement de la page ...

Y at-il un moyen de faire ce que j'essaie de faire? fais ici, ou suis-je juste SOL?

Répondre

1

Vous n'avez pas besoin de faire les balises span cachés, car ils sont dans un élément caché div déjà. Pour ce qui est de la création de liens, et même de la facilité d'utilisation, je suggère d'avoir un index avec des liens permanents vers les images directes. Vous n'avez donc pas à vous soucier de ce que vous voulez faire avec le diaporama. une image spécifique.

Il y a deux façons d'aller à ce sujet, on serait d'utiliser JavaScript pour changer juste la visibilité des divs. C'est assez simple, juste changé l'attribut style.display de l'élément.

Pour cette méthode, il y a beaucoup de solutions premade jQuery telles que LightboxJS. Voici une liste agrégée d'entre eux:

http://bradblogging.com/jquery/9-jquery-slideshow-applications-you-cannot-miss/

L'autre serait de faire un appel AJAX pour récupérer le balisage. Cela limite la charge initiale, mais peut rendre la commutation entre les images plus lente.

0

Les moteurs de recherche ne verront probablement rien de changé pendant le diaporama. Vous pouvez envisager de créer un sitemap Google contenant des liens profonds vers chaque page de votre diaporama. Vous pouvez toujours utiliser jQuery pour lancer votre diaporama, il vous suffit de fournir un moyen de démarrer le diaporama à tout moment via un paramètre de la chaîne de requête.

0

Il est souvent une bonne idée de faire une mise en œuvre sans javascript de l'interface avant épiçant avec jQuery. De cette façon, vous avez toujours une logique côté serveur pour quiconque naviguant sur le site sans javascript (f.ex searchbots).

Utilisation des événements de clic et de prévenir les actions par défaut, vous pouvez appliquer de façon transparente la couche d'interface en utilisant javascript jQuery présentation ou natif dans la prochaine étape. Parfois, vous pouvez réutiliser la logique côté serveur en utilisant Ajax.

Questions connexes