IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

inclure du html tiers dans son html


Sujet :

HTML

  1. #1
    Membre éclairé

    Inscrit en
    Février 2004
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 342
    Par défaut inclure du html tiers dans son html
    hello,

    je souhaite intégrer du html tiers dans ma propre page.

    pas exactement comme dans http://xhtml.developpez.com/faq/inde...hier_inclusion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <object type="text/html" data="ma_page.html" width="500" height="500"></object>
    mais plutot dans cet esprit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            <object type="text/html"><?php echo $htmltiers; ?></object>

    Le truc c'est que du coup j'ai plusieurs problèmes :
    je fais du xhtml et ...
    * il n'aime pas trop voir une balise <html> en plein milieu de la page
    * lorsque $htmltiers embarque du css (<style> a { bla bla bla je flingue le style de tes liens... } </styles>) , ca influe sur mon propre css
    * souvent le html à intégrer est juste dégueulasse , adieu xhtml
    * je parle même pas des charset c'est hors sujet ici

    comment je peux régler ça simplement et proprement ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 15
    Par défaut
    plusieurs solution sil me semble ou j'ai pas bien compris :

    -faire une iframe et tu embarques une autre page ou un morceu de celle-ci
    -tricher en mettant : border:1px solid #000000; background-color:#cccccc;

    -mettre ton texte entre les balises :
    <pre></pre> ce qui est habituellement employé.

    j'espère t'avoir aidé

    ps: pour tes styles il faut que tu mette une class particulière si tu ne veux pas que tout ton css soit perturbé

  3. #3
    Membre éclairé

    Inscrit en
    Février 2004
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 342
    Par défaut
    j'aurais préféré éviter le iframe, déjà rien que le mot me hérisse le poil
    et en pratique c'est pénible à resizer

    bref le soucis que j'ai c'est que mon truc resssemble à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE html 
         PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link type="text/css" rel="stylesheet" href="static/styles.css" />
      </head>
      <body>
      <p>ceci est mon html... metons dedans l'autre html</p> 
    <object type="text/html"><?php echo $htmltiers; ?></object>    
    <p>voilà ce sera tout merci</p>
    </body>
     
    </html>
    le truc c'est que je me retrouve avec qqch comme


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE html 
         PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link type="text/css" rel="stylesheet" href="static/styles.css" />
      </head>
      <body>
      <p>ceci est mon html... metons dedans l'autre html</p> 
      <object type="text/html"><html><head></head><body>
    <style>
    <!--
     
     _filtered {font-family:Wingdings;
    panose-1:5 0 0 0 0 0 0 0 0 0;}
     _filtered {font-family:Wingdings;
    panose-1:5 0 0 0 0 0 0 0 0 0;}
     _filtered {font-family:"Arial Unicode MS";
    panose-1:2 11 6 4 2 2 2 2 2 4;}
     _filtered {font-family:Calibri;
    panose-1:2 15 5 2 2 2 4 3 2 4;}
     _filtered {font-family:Tahoma;
    panose-1:2 11 6 4 3 5 4 4 2 4;}
     _filtered {
    panose-1:2 11 6 4 2 2 2 2 2 4;}
     
    p.MsoNormal, li.MsoNormal, div.MsoNormal
            {margin:0cm;
    margin-bottom:.0001pt;
    font-size:11.0pt;
    font-family:"Calibri", "sans-serif";}
    h2
            {
     
     
    margin-right:0cm;
     
    margin-left:0cm;
    font-size:18.0pt;
    font-family:"Times New Roman", "serif";}
    a:link, span.MsoHyperlink
            {
    color:blue;
    text-decoration:underline;}
    a:visited, span.MsoHyperlinkFollowed
            {
    color:purple;
    text-decoration:underline;}
     
    /* et ca continue encore longtemps visiblement c'est du html généré par Word... */
     
    -->
    </style>
     
    <div class="Section1">
     
    <p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> et oui bla bla je suis d html tiers bla bla bla
    ...

    malheureusement le css embarqué dans le html tiers me flingue mon propre css.

    avec firefug c'est flag : on voit bien que les propriétés text-decoration et color ont été écrasée/héritées de ce css tiers



    bref, j'espère que c'est plus clair.

    donc comment faire pour régler ca sans utiliser de iframe ?

  4. #4
    Membre éclairé

    Inscrit en
    Février 2004
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 342
    Par défaut
    pour le moment j'ai réussi à résoudre temporairement mon pb en passant de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    a.Button  {
        display:inline-block; 
        margin:2px;
        padding:4px;
        border:1px solid #BBB;
        text-decoration:none;
        color:#545757; 
        font-weight:bold;
     
    }

    à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    a.Button:link,a.Button:active,a.Button:visited {
        display:inline-block; 
        margin:2px;
        padding:4px;
        border:1px solid #BBB;
        text-decoration:none;
        color:#545757; 
        font-weight:bold;
     
    }
    mais bon, je ne suis que moyennement satisfait.

    comment faire pour le css contenu dans du <object type="text/html">...</object> ne s'applique que à l'intérieur de cette balise <object> ?

  5. #5
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Citation Envoyé par fourchette Voir le message
    comment faire pour le css contenu dans du <object type="text/html">...</object> ne s'applique que à l'intérieur de cette balise <object> ?
    Mais ... autant mettre une DIV dans ce cas !
    OBJECT a déjà un rôle prédéfini : http://www.la-grange.net/w3c/html4.0...ts.html#h-13.3 et ne peut être utile que dans ce cas de figure :
    Citation Envoyé par fourchette Voir le message
    pas exactement comme dans http://xhtml.developpez.com/faq/inde...hier_inclusion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <object type="text/html" data="ma_page.html" width="500" height="500"></object>
    (l'attribut type peut contenir d'autres types MIME)

    (X)HTML est un langage standardisé soumis à des règles d'écritures définies par la DTD (un document qui décrit la structure d'un modèle) tu ne peux rien inventer.

    Donc pour ton problème, tu as deux solutions :
    1. IFRAME,
    2. OBJECT comme expliqué dans la FAQ.

  6. #6
    Membre éclairé

    Inscrit en
    Février 2004
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 342
    Par défaut
    donc en gros

    si je veux que le code html tiers soit directement dans mon propre html

    il faut que je reparse tout le html tiers pour le valider et le convertir en quelque chose qui va bien marcher dans ma page quoi... voilà la galère

    par exemple : convertir les <br> en <br /> etc

    j'ai bon ?


    ou alors, j'oublie completement l'idée d'avoir un page en xhtml et de valider la page ? (là c'est plus simple mais bon...)

  7. #7
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Citation Envoyé par fourchette Voir le message
    par exemple : convertir les <br> en <br /> etc

    ou alors, j'oublie completement l'idée d'avoir un page en xhtml et de valider la page ? (là c'est plus simple mais bon...)
    Si c'est ça le problème, pourquoi ne pas faire du HTML ?

    Il faut respecter autant que possible les règles syntaxiques, cela permet au navigateur de construire correctement son DOM.

    Donc déclarer une DTD XHTML et utiliser la syntaxe HTML pourrait poser des problèmes de compatibilité avec certains terminaux d'accès (notamment les mobiles) en plus de l'invalidité syntaxique.

Discussions similaires

  1. Inclure un programme GPL dans son programme
    Par HerQuLe dans le forum Licences
    Réponses: 4
    Dernier message: 09/12/2009, 14h55
  2. inclure un fichier .js dans page html
    Par nickg dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/06/2008, 12h08
  3. Inclure un dylib/la dans son .app
    Par ttone dans le forum Développement OS X
    Réponses: 2
    Dernier message: 04/06/2008, 23h13
  4. [HTML] visualiser les pages html incluses dans des frames
    Par missgeek dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/07/2007, 23h10
  5. problème xsl : inclure une donnée xml dans une balise html
    Par djodjo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/01/2003, 09h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo