Pseudo Mot de passe
fleche Inscription
fleche Mot de passe oublié ?
Informations Générales
Chargement en cours...
Nombre de Visites fleche [ 142908 ]
Votre IP fleche [ 38.103.63.17 ]
Vous êtes ici : Home Page Cours HTML Les frames 1
Imprimer Imprimer le document

Informations Membres

[197] Posts sur le forum
[181] Membres inscrits
Il y a en ligne :
  arrow 0 Membre
  arrow 0 Invité

fled Membre en ligne:
Aucun

Partenariat

Partenariat Vous pouvez aider ce site à évoluer, en contribuant à son développement. Proposez vos idées de cours et/ou dossiers. Rendez-vous dans « Partenariat » pour en savoir plus.


Nom de domaine

www.

Partenaires

Les frames (page1) : Balises

Thème

Réalisation de frames HTML (partage de la fenêtre du browser Web en sous-fenêtres), et manipulation de fenêtres de navigateur.
La technique des frames (cadres) est principalement utilisée lorsque l'on veut mettre en place des barres de navigation ou lorsque l'on veut réaliser des mises en page complexes.

Remarque : les frames HTML sont supportés à partir des versions de browsers Netscape 2 et IExplorer 3
Attention ! Aux limites des frames (voir ci-dessous)
  1. l'URL apparaissant au haut de la fenêtre est celui du frameset et reste constant lors de la navigation à travers les frames ; c'est donc celui-là qui est, le cas échéant, mémorisé dans les bookmarks de l'utilisateur
  2. si l'utilisateur mémorise, dans ses bookmarks (favoris) l'URL d'un frame (après avoir ouvert ce frame dans une nouvelle fenêtre de browser), en revenant ultérieurement sur ce signet l'utilisateur perdra le contexte (c-à-d. les autres frames) nécessaire à une bonne compréhension du contenu
  3. plus grave encore : la plupart des moteurs de recherche refusent d'indexer les frames en raison du point 2 ci-dessus (ils s'arrêtent au niveau du frameset, ou descendent parfois juste dans les pages correspondant aux URLs se trouvant dans le bloc <NOFRAME>...</NOFRAME>) ; les parties d'un site construites sur la base de frames resteront donc invisibles du moteur de recherche (non indexées)

Comme alternative aux frames pour faire usage, dans un ensemble de pages Web, de code HTML commun à ces pages (barres de navigation...), on utilisera la technique du Server Side Include (SSI) ou l'un des mombreux systèmes de templating sous PHP (FastTemplate, PHPlib, Smarty...).

Balises et JavaScript relatifs aux frames

  • Début frameset (définition du nombre de frames, structurées en lignes ou en colonnes avec leurs tailles respectives) :
    <frameset rows="pixels ou %, ..." | cols="pixels ou %, ..." border="nb.pixels" frameborder="0,1">
    
  • Pour chaque frame, spécification du document correspondant au frame :
    <frame src="URL" name="target name" scrolling="YES,NO" {noresize}
    marginwidth="pixels" marginheight="pixels">
    
    (l'URL peut être celle d'une page HTML ou d'une image !)
    ou, pour browser (ou robot !) ne supportant pas les frames :
    <noframe> texte à afficher... </noframe>
    
  • Fin frameset :
    </frameset>
    
  • Lien provoquant mise à jour d'un frame :
    <a href="URL" target="target name">... </a>
    
    (pour mettre à jour plusieurs frames à la fois, voir la technique JavaScript décrite plus bas)
    ou formulaire provoquant mise à jour d'un frame :
    <form action="URL appli CGI" target="target name" method=...>... </form>
    
  • Pour définir le frame qui sera utilisé par défaut comme cible par tous les liens définis dans une page, plutôt que de mettre des TARGET="target name" dans tous les liens on peut définir, dans l'en-tête de la page (c-à-d. dans le bloc <HEAD>...</HEAD>) :
    <base target="target name">
    
Remarques :
  • on peut imbriquer des framesets les uns dans les autres (c'est du reste ce que l'on doit faire pour obtenir un partitionnement vertical ET horizontal de la fenêtre du browser)
  • dans une page HTML de définition de framesets, le bloc <FRAMESET>...</FRAMESET> se substitue au bloc <BODY>...</BODY> qui n'existe pas
  • pour l'attribut ROWS ou COLS, on spécifie la hauteur ou la largeur (en pixels ou %) des différents frames (il doit y avoir autant de valeurs, séparées par des virgules, que de FRAME définis dans la structure) ; on peut aussi mettre, en guise de valeur, le caractère * pour l'un des frames, ce qui indique au browser d'allouer la place restante
  • l'attribut FRAMEBORDER sert à spécifier si l'on veut des bordures en relief (1 = défaut) ou non (0)
  • les attributs MARGINWIDTH et MARGINHEIGHT permettent de définir des marges horizontales (gauche/droite) et verticales (haut/bas)
  • l'attribut TARGET sert à définir le frame dans lequel doit s'afficher la page (par défaut dans le frame courant) ; avec la valeur "_top", affichage dans l'entier de la fenêtre du browser (suppression des frames) ; avec la valeur "_blank" (ou un nom de frame qui n'est pas connu du browser), affichage dans une nouvelle fenêtre de browser
Haut de page