2009-05-21 7 views
0

J'ai des menus de style "méga menu" sur un site que je maintiens. Ce sont essentiellement un ensemble de <UL> s imbriqués. Comme il y a environ 150 à 200 entrées dans le menu complet, cela ajoute beaucoup de volume à la page et rend les lecteurs d'écran douloureux.Comment dois-je mettre à jour Mega Menus à partir de Javascript?

Je prévois de modifier les menus afin que seul le niveau supérieur du menu soit édité sur la page, ce qui en supprimera 99%, et restera utilisable dans les clients non-javascript.

Si le javascript est disponible, je prévois de remplacer le simple menu de niveau supérieur par le menu complet. Idéalement, le menu complet serait stocké dans le fichier javascript, car cela aurait l'avantage supplémentaire de laisser le navigateur le mettre en cache (il ne change pas souvent).

Ma question est, comment les gens recommandent je stocke le menu complet dans le fichier javascript. Pour l'instant j'ai juste quelque chose comme ...

var menuhtml = '<ul id="megamenu"><li>blar blar...</ul>'; 
$("#megamenu").html(menuhtml); 
// more code here to get the menu to work as needed 

Cela semble plutôt moche. La réponse évidente serait d'aller chercher le menu html via une requête ajax, mais cela ne fonctionnera que si je peux être sûr qu'il sera mis en cache, car je ne veux pas de requêtes http supplémentaires si je peux l'aider.

Si quelqu'un a de bonnes suggestions pour obtenir une solution propre, s'il vous plaît faites le moi savoir.

Répondre

1

Ce que vous pourriez faire est de servir, si vous avez une programmation côté serveur, est un fichier JavaScript JSON avec la navigation. Cela serait mis en cache par le navigateur, puis le JSON peut être utilisé pour construire un menu.

Questions connexes