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 :

[HTML] "Nested tags", comment sont interpretées des balises imbriquées ?


Sujet :

HTML

  1. #1
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut [HTML] "Nested tags", comment sont interpretées des balises imbriquées ?
    Bonsoir,

    Une question peut etre bizarre pour vous, en tout cas je ne connais pas grand chose au monde du HTML:
    . je suis tombé sur une code source ou je vois des balises <body>...</body> (et son contenu, des div et des inputs) contenues dans une "structure" plus grande, dont une balise <body>... etc...
    De plus, je vois deux choses qui me sembleraient contradictoire:
    . dans la première balise body (celle la plus imbriquée) une fonction a été affectée a l'event onload.
    . en fin de code source, je vois dans un bout de script "window.onload=function()...etc".

    Je me demande donc si ces balises imbriquées représentent une structure "normale" et si leur contenu va etre correctement interpreté, et qu'est ce qui sera théoriquement executé lors du onload de la page ?

    Merci d'avance,
    @+
    Aux persévérants aucune route n'est interdite.
    Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
    Current Status
    Avec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
    Faîtes quelque chose de bien avec vos petits sous: Enfants du Mekong

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    A priori, tous ces différents codes vont être exécutés après le chargement de la page, dans l'ordre dans lequel ils ont été lus.

    Par exemple, rien ne t'empêche d'avoir plusieurs appels à fonctions dans le onload du body, comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="maFonction1(); maFonction2();">
    Ce qui revient au même que :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    window.onload = function() { maFonction1(); maFonction2(); };

    Ce qui revient au même que :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    window.onload = function() { maFonction1(); };
    window.onload = function() { maFonction2(); };

    Après, le fait qu'il y ait plusieurs balises body imbriquées, n'est pas correct au niveau HTML - même si le navigateur interprétera correctement le code - et provient certainement d'includes en langage serveur et dont chaque fichier a une structure HTML complète.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Pas tout à fait Bisûnûrs, dans la forme :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    window.onload = function() { maFonction1(); };
    window.onload = function() { maFonction2(); };
    le 2nd onload va remplacer le premier et seule le fonction2 sera exécutée !
    Pour les 2 body, il faut vérifier s'il n'y a pas de frames ou d'iframe dans la page auquel cas, les événements seront affectés au chargement de la frame en question.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Bonjour,

    Merci pour vos réponses.
    Je dois trouver la raison d'un comportement indésirable qui arrive de manière aléatoire sur un page html générée par un "système" dont pour une partie je ne maitrise absolument (rien hormis qq settings), et pour une autre j'aurais la joie de pouvoir tout casser si nécessaire...
    Néanmoins, j'estime que mes connaissances en html (voire meme js finalement) sont assez légères, je continue donc mes p'tites questions.
    Si je pousse un peu plus loin, et j'ai testé un peu malgré moi, je peut me retrouver avec non seulement la balise <body> mais aussi toute la "hierarchie" classique d'une page web (donc <html><head><body>... etc) imbriquée dans une structure plus grande et - particulièrement - contenue dans une balise <td></td>. (sans <frame> ou <iframe> ou autres)
    Mon instinct me dis : "c'est pas bien".
    Maintenant, si c'est juste une question de respect de normes, et que cela ne peut causer de disfonctionnement, je ne vais pas me torturer.
    Aux persévérants aucune route n'est interdite.
    Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
    Current Status
    Avec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
    Faîtes quelque chose de bien avec vos petits sous: Enfants du Mekong

  5. #5
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Bien, j'ai fait en sorte que le code généré ne comporte plus ces balises imbriquées, idem pour le onload.
    Maintenant, cela ne solutionne pas mon soucis, tant pis.
    Je vais chercher ailleurs, autrechose ....
    Aux persévérants aucune route n'est interdite.
    Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
    Current Status
    Avec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
    Faîtes quelque chose de bien avec vos petits sous: Enfants du Mekong

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WinForms]Comment sont gérés des clics rapides sur un bouton
    Par NicolasJolet dans le forum Général Dotnet
    Réponses: 9
    Dernier message: 25/10/2006, 12h34

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