Javascript - Location.href

Lorsque les frames ont été abordées en HTML, une attention avait été précisée sur la difficulté de les utiliser et surtout quand leur nombre est supérieur à 2. En effet, pour un lien hypertexte, il faut quelquefois changer non seulement le bandeau de titre mais aussi la zone principale. Or un lien classique ne permet de charger qu'une page à la fois dans une fenêtre donnée.

Code

La version la plus simple permet de charger un seul fichier dans la même fenêtre.

<html>

<head>

<script>

function vaZy(){

location.href="Lien2.htm";

}

</script>

</head>

<body>

<a href="javascript:vaZy()">lien</a>

</body>

</html>

Code plus complexe

Dans le cas de chargements de frames multiples, il est nécessaire de connaître le nom de chaque frame

Ainsi, il suffit de multiplier les lignes dans la fonction vaZy.

function vaZy(){

top.menu.location.href="Menu.htm";

top.titre.location.href="Bandeau.htm";

top.principale.location.href="Nouveau_fichier.htm";

}

Javascript - Location.href et window.open

En HTML, lorsque le paramètre target était utilisé, les seules possibilités pour ouvrir une nouvelle fenêtre se fait en plein écran ou par défaut suivant les paramètres fixés par l'internaute.

En javascript, il est possible de définir plus de paramètres pour l'ouverture de cette fenêtre :

Code

Une fenêtre est ici définie dans une variable. La fonction (imbrication d'objet) msg.document.write permet d'écrire dans un document.

<html>

<head>

<script language="javascript">

var Contenu="<html><body bgcolor=#DDDDDD>";

Contenu+="Hello everybody</body></html>";

function vaZy(){

msg=window.open("fichier_a_charger.htm", "nom_fenetre_ouverte", "toolbar=no, directories=no, menubar=yes, resizable=no, scrollbars=yes, width=600, height=400, top=10, left=20");

msg.document.write(Contenu);

}

</script>

</head>

<body>

<a href="javascript:vaZy()">lien</a>

</body>

</html>

Dans le code précédent, soit le "fichier_a_charger.htm" est précisé, soit le code est remplacé par "" pour permettre d'écrire le texte enregistré dans la variable Contenu.
Le nom nom_fenetre_ouverte permettra de changer le contenu de la page grâce à target="nom_fenetre_ouverte".

Résultat