Frames

Dans l'organisation de votre site, vous voudrez peut-être offrir la possibilité aux internautes d'avoir accès à un menu vers les différentes rubriques de celui-ci à tout instant de la visite. Une des solutions est de recourir aux frames qui permettent de faire un découpage de la fenêtre ouverte dans le navigateur.

La barre de menu pourra se trouver ainsi soit en haut de page, soit dans la partie gauche (pour rester dans les habitudes courantes). Ce site présenté sous la forme d'un ordinateur montre ainsi un menu en bas de page qui pourrait un peu surprendre quelques internautes.

Le recours aux frames nécessite cependant une maîtrise dans la nomination des fenêtres ouvertes pour ne pas se tromper dans l'affichage de nombreuses pages. Pour ce site, l'apparition du sous-menu dans la "barre d'état de l'écran" nécessite l'utilisation d'une variable globale retenant la rubrique sélectionnée antérieurement dans le menu principal.

Le fichier permettant d'obtenir les frames ne contient pas de balise <body>. Il est préférable de se limiter au nombre de 3 pour les fenêtres composant les frames pour ne pas entraîner une programmation trop complexe (La troisième peut correspondre à un bandeau de titre).

Attributs

La balise frameset permet d'indiquer au navigateur dans quel sens va être découpée la fenêtre.

La balise frame permet d'indiquer au navigateur le nom de chaque fenêtre et surtout de charger les pages apparaissant lors de la connexion sur le site.

L'attribut scrolling sera généralement réglé à "no" pour le menu et à "yes" dans le cas de la frame principale. En effet, un ascenseur entre le menu et la page de contenu n'est pas esthétique et ne pas mettre d'ascenseur dans la page de contenu peut empêcher le visiteur d'accéder à toute l'information d'une longue page.

Code

<html>

<head>

<title> Frames </title>

</head>

<frameset rows="*" cols="200,*" frameborder="no" border="0" framespacing="0">

<frame name="menu" frame src="Menu.htm" scrolling="no" border="0" marginheight="0" marginwidth="3">

<frame name="droite" frame src="Accueil.htm" scrolling="yes" border="0" marginheight="6" marginwidth="6">

</frameset>

<noframes>

Désolé mais votre navigateur ne supporte pas les frames

</noframes>

</html>

Vous devez obligatoirement créer les trois fichiers initiaux :
- Frames.htm pour le découpage de l'écran
- Menu.htm pour l'affichage dans la partie gauche de l'écran
- Accueil.htm pour l'affichage dans la partie droite de l'écran.

Résultat