Forums d'assistance et de discussion sur les logiciels produits par Mozilla ou créés à partir des technologies Mozilla. Ce site ne dépend pas de la fondation Mozilla et est maintenu par un collectif de bénévoles.
HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Ce suis en train de faire un site statique dans lequel il y a un menu à gauche et le contenu à droite.
A prioris, plusieurs solutions s'offrent à moi :
- Des frames (beurk )
- Des tableaux (beurk aussi)
- Une belle feuille de style...
Je voudrais savoir si il existe une possibilité de mettre le code concernant le menu dans un fichier et l'inclure dans chaqu'un de mes fichiers de contenu... (j'espère avoir bien expliqué le principe)
J'y gagnerais en clarté et en maintenabilité car il n'y aurais pas de redondance de code...
inclusion côté serveur (Server Side Include - SSI) ou scripting serveur (include avec PHP par exemple), ce qui te permet de n'inclure que la partie intéressante (un menu par exemple)
L'inclusion avec <object> n'est pas du tout à éviter. Elle fait même partie des recommandations W3C.
Seul hic : ça ne fonctionne pas très bien sur IE avec certains formats de fichiers
Inclusion de HTML dans un autre document HTML
Parfois, plutôt que d'établir un lien vers un autre document, il peut être plsu judicieux d'inclure le contenu d'un document HTML dans un autre document HTML. Nous recommandons d'utiliser un élément OBJECT dont on aurait défini l'attribut data à cette fin.
Par exemple, la ligne suivant incluerait le contenu du fichier piece_to_include.html à l'endroit où est défini l'élément OBJECT.
...texte précédent...
<OBJECT data="file_to_include.html">
Erreur : file_to_include.html n'a pas pu être inclus.
</OBJECT>
...texte suivant...
Le contenu de la balise OBJECT ne devraêtre affiché que si le fichier spécifié par l'attribut data ne peut être obtenu.
La réaction d'un agent utilisateur à un document qui s'inclurait lui-même n'est pas définie.
Avertissement concernant l'inclusion d'autres fichiers. Faites attentino lors de l'inclusion d'un document HTML défini par une ancre (. Toute la fin du document qui suit l'ancre sera inclue, et il est possible de ce fait que vous récupériez des balises de fermeture "à l'insu de votre plein gré" (pour des éléments tels que BODY, HTML, etc.).
<html>
<body>
Titre du site
<OBJECT data="menu.txt" type="text/plain">
Erreur : menu.txt n'a pas pu être inclus.
</OBJECT >
Fin du site
</body>
</html>
Voici un joli menu qui est inclus <br />
Coucou <br />
Mon problème est que le fichier est inclu bizarement sur firefox (en fait il est plus haut que le reste. Et qu'il n'est tout simplement pas inclus sur iexplorer.
type="text/plain""Ça devrait pas être text/html ? Sinon il risque de t'afficher ton code non interprété...
Pour les hauteurs/largeurs il faut les définir (via css ou attributs height/width - moins bien -)
Si tu as lu le message de SIBELIUS, il dit que ie gère mal cette inclusion...
Les SSI se font du côté du serveur, comme le disait Benoît et du coup plus de problèmes avec le navigateur, la page est envoyée nickel. Par contre tu perds l'avantage de la légereté puisque le code est envoyé à chaque fois. Pas trop grave si c'est un menu qui tient en 5 lignes
Mais il faut que ton serveur accepte ce genre de choses (ce qui n'est pas le cas de tous). Si c'est le cas, pour inclure ton menu avec PhP, tu écrit simplement