Question très basique: je suis en train de coder une application web qui a une poignée de pages. Ces pages contiennent les éléments partagés habituels: par exemple, l'en-tête/masthead du site et une barre latérale sont présents sur toutes les pages. Le HTML est statique (pas généré dynamiquement, son "ajax-ness" se fait côté client).meilleure pratique pour traiter des éléments "structurels" communs de pages?
Quelle est la meilleure façon d'importer/"inclure" ces éléments communs dans mes pages? La solution que je me sers est d'avoir les fichiers HTML contiennent place détenteurs vides
<div id="header"></div>
<div id="leftSideBar"></div>
(...)
puis faire dans le .ready de jquery (document) $():
$.get("header.html", function(html) { $("#header").html(html); });
// ....
Est-ce la meilleure façon de fais ça? Je suis nouveau au développement web. :)
Je suppose que je pourrais aussi déterrer un outil de génération de code "macro-like" que je courrais sur les fichiers HTML à remplacer, par exemple, "#header" avec le contenu de header.html. De cette façon, le chargement d'une page nécessiterait une seule requête pour un seul fichier HTML, ce qui sonne mieux.
Quelle est la façon intelligente d'y parvenir? Je suis sûr que ce problème a été résolu mille fois.
EDIT: Le côté serveur est codé en Python + cherrypy. (Je suppose qu'il est raisonnable d'essayer de ne pas générer dynamiquement du HTML en faisant des applications web "web 2.0-ish" Corrigez-moi si je me trompe, comme je l'ai dit, je suis très nouveau dans cet environnement.)
Merci pour vos idées,
lara
Cela semble une approche assez logique à mon avis. Les blocs "vides" n'ont aucune connotation négative dans le monde HTML, ce que vous faites est parfaitement légitime. –
a édité ma réponse pour inclure une manière de faire le modèle using des cadres – marcgg
Que employez-vous du côté de serveur? Nous ne pouvons pas vraiment répondre à votre question sans le savoir. – Domenic