Forum Programmation.web Inclure une page HTML dans une autre... sans target="_top"

Posté par  .
Étiquettes : aucune
0
22
fév.
2005
Bonjour,
je cherche la bonne manière d'inclure une page HTML dans une autre,
sans langage côté serveur; et en étant compatible avec les normes HTML 4.01 STRICT.

En gros c'est pour avoir le même menu en haut de toutes mes pages et
n'avoir qu'une page "menu.html" à modifier... Ca devrait être faisable non ?

J'ai essayé ca dans chaque page (j'ai du virer les inferieur et superieur
pour que ca passe)

object type="text/html" data="menu-01.html"
Erreur : impossible de charger le menu...
/object


Ca marche bien mais du coup dans mon menu je suis obligé de mettre target="_top" dans chaque lien,
sinon il ouvre le lien dans la partie de la page ou j'avais mon menu (comme s'il y avait une frame en
haut quoi...). Or la clause "target=" est refusée par le validateur W3C pour HTML 4.01Strict...

Si vous connaissez la solution... merci d'avance
  • # SSI

    Posté par  (site web personnel) . Évalué à 2.

    Pourquoi ne pas passer directement par les Server-side include ?

    http://httpd.apache.org/docs/howto/ssi.html(...)
    • [^] # Re: SSI

      Posté par  . Évalué à 1.

      Ben je voudrais un truc simple, qui marche partout et surtout
      qui marche quand j'ouvre juste ma page en local pour la tester quoi...

      Bref un peu pour la même raison que je n'installe pas oracle pour gérer
      ma vidéothèque ;-)

      • [^] # Re: SSI

        Posté par  (site web personnel) . Évalué à 1.

        hmmm t est en RTC ? si 'non', alors ca te coutes rien d uploader tes pages pour les tester immediatement.

        Franchement tu cherches a te compliquer la vie alors qu en PHP c est expedie en 10mn. La tu vas perdre des jours a faire un truc qui marchera pas.

        Apache as une fonction speciale: si un fichier dans le genre README est present dans un dossier, il est colle au pied de chaque page IIRC. Il y as la meme pour la tete de page.

        Tu n as pas besoin d oracle pour ca. Et tous les hebergeurs supportent PHP.

        Sinon tu peut aller voir du cote des CSS. C est pas hyper complexe, et ca rends tres bien. Faut voir si les CSS peuvent ajouter du contenu.
  • # et en php ?

    Posté par  . Évalué à 1.

  • # HTML Overlay

    Posté par  . Évalué à 3.

    Ca peut peut-être te convenir :

    http://disruptive-innovations.com/zoo/20040830/HTMLoverlays.html(...)

    Mais attention :

    - C'est zéro absolu en accessibilité. l'inclusion n'est visible que par un navigateur supportant javascript (exit les moteurs de recherche)
    - Les pages incluses doivent être valides XML (ou xHTML)
    - il y a d'autres contraintes moins sensibles qui sont bien expliquées dans la page.

    A part une frame/iframe (qui n'est pas sans poser son lot de problèmes, notamment l'accessibilité), le problème a déjà été retourné dans tous les sens. Soit tu le fais proprement côté serveur, via SSI, php ou autre CGI, soit tu te résous à des frames ou une solution javascript (comme HTML overlay, mais d'autres solutions comparables existent).
    • [^] # Re: HTML Overlay

      Posté par  . Évalué à 3.

      j'oubliais, la balise LINK est conceptuellement faite pour répondre à ton besoin. Peut-être qu'en explorant toutes ses possibilités (généralement méconnues) dans la doc officielle w3c tu trouveras quelquechose de propre et satisfaisant. En tout cas, je t'invite à bien la regarder.
      • [^] # Re: HTML Overlay

        Posté par  . Évalué à 1.

        Je ne savais pas que ce problème avait déjà "été retourné dans
        tous les sens", je pensais donc que c'était faisable facilement....

        En tous cas merci pour vos réponses, je vais jeter un oeil
        à LINK et à IFRAME, mais je crois surtout que je vais me faire
        un bon vieux script shell qui mette à jour le menu dans mes
        pages HTML statiques et hop.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.