2011-06-17 3 views
1

Je ne me sens toujours pas à l'aise de répéter du HTML pour des choses comme le code de menu, l'en-tête, le pied de page et surtout un lien rapide sur chaque page. Aussi, il semble un peu inefficace de continuer à envoyer le même code HTML répété pour chaque page.Embarquer un fichier HTML secondaire dans une page Web

Pour l'instant, j'ai écrit un petit programme qui lit ces sections de mon index.htm et remplace les sections pertinentes dans toutes les autres pages dans ce répertoire. Cependant les choses ont commencé à devenir beaucoup plus gênant maintenant que j'ai des pages supplémentaires comme un forum de messages et une galerie d'images, qui ont tous deux besoin de leur propre index.htm dans leurs sous-répertoires respectifs.

Donc la question est de savoir si j'utilise un objet, un iframe ou un SSI?

Est-ce que quelqu'un a réussi à utiliser l'étiquette d'objet pour incorporer un fichier HTML distinct dans une page? SSI ferait le travail, sauf que le HTML répété est toujours envoyé sur le Web à chaque changement de page et différentes lignes d'inclusion devraient être utilisées sur les pages PHP. Qu'en est-il de l'utilisation des IFrames, je sais qu'ils ne sont pas conformes à la norme XHTML1.0, mais j'ai l'impression de me rappeler des rumeurs selon lesquelles ils seront à nouveau supportés en HTML5, cela en fait-il un bon pari pour l'avenir?

Répondre

0

La façon la plus simple de résoudre ce problème consiste à utiliser un langage de script (PHP, Python, ASP) et des modèles. Vous pouvez créer la structure de base de votre site dans un modèle principal, puis utiliser les scripts pour extraire uniquement le contenu modifié.

Pour un exemple particulièrement bon, voir Django's template system.

+0

OK pour toutes les pages Python que nous avons mais ne fonctionnerait pas avec le Forum de messagerie basé sur PHP. – NickC

+0

Il existe plusieurs langages de modèles PHP disponibles: Smarty, HTML_Template * de Pear, etc. Vous pouvez également mettre à niveau vers un CMS complet comme Drupal ou Joomla. –

0

Chacune de vos pages pourrait appeler une fonction JavaScript dans un fichier externe boilerplate.js. Cette fonction pourrait ajouter des éléments standard à la page, en utilisant le DOM.

Cela dit, vous ne voudrez peut-être pas faire cela, ni utiliser IFrames, pour des raisons SEO! (De plus, vos pages ne manqueraient pas gracieusement si le client désactivait JavaScript.)

Pour moi, il semble préférable d'avoir une page plus axée sur les moteurs de recherche et de supporter la transmission de balisage en double. L'option Inclinaison côté serveur (ou tout autre langage de script côté serveur) confère ces qualités tout en vous permettant de modifier facilement le passe-partout sur toutes les pages à la fois.

Questions connexes