2008-09-11 3 views
3

J'ai un très grand système de menu en cascade avec plus de 300 éléments. (Je sais que c'est grand mais c'est une exigence.)
Actuellement, il est écrit en javascript pour que le fichier externe soit mis en cache par les navigateurs.Quelle est la meilleure façon de mettre en cache un système de menu localement, dans le navigateur?

Pour améliorer les résultats du moteur de recherche, j'ai besoin de le convertir en un système de menu CSS.
je réalise les navigateurs seront également en cache mais feuilles de style externes,

  • est-il un moyen de mettre en cache le contenu du menu (<ul> et <li> balises)?

Si j'utilise javascript (document.write) pour écrire le contenu que je pourrais avoir cela dans un fichier javascript externe, qui serait mis en cache localement, mais

  • serait-ce moteur de recherche convivial?

Quelle est la meilleure solution?

Répondre

6

La meilleure façon d'accomplir ce que vous voulez faire est d'utiliser SiteMaps pour informer Google des URL de votre site Web. Fondamentalement, vous voudrez traduire vos données hiérarchiques pour les menus dans un SiteMap.

0

Vous pouvez générer les menus au préalable dans des fichiers html/javascript statiques et faire en sorte que toutes les pages tirent le site de la même URL sur votre site. De cette façon, le navigateur côté client fera la mise en cache. Vous devrez juste avoir une étape dans votre déploiement qui génère les fichiers html pour le menu. Essayez de le faire générer autant de HTML que possible (+ JS + CSS), alors tout ce qui doit être dynamique peut être ajusté avec javascript.

0

Vous pouvez tout faire en CSS et HTML seulement, et vous n'avez pas besoin d'utiliser de script Java. Voir < http://www.netwiz.com.au/cssmenu.htmlvalue>. Cette page présente un outil à utiliser avec un logiciel de documentation spécifique, mais l'exemple CSS et HTML montre comment utiliser les éléments ul li pour un menu CSS/HTML uniquement dans un grand nombre de navigateurs.

Vous avez toujours le problème de 300 éléments dans le menu qui va ajouter au temps de chargement. Si c'est un problème, je suppose que vous pourriez déplacer ce code vers un iframe séparé pour augmenter les chances qu'il soit mis en cache sur un proxy (ou par le navigateur). Au risque d'offenser les puristes même un cadre pourrait faire le travail, mais vous aurez des problèmes avec les pages sujet n'étant pas en mesure d'afficher le menu si elles sont directement liées.

Questions connexes