<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML>
<HEAD> <TITLE>JsLib 1.3 - Exemple - fenetres.js</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="Author" CONTENT="Etienne CHEVILLARD"> <!-- fenetres.js --> <SCRIPT TYPE="text/javascript" LANGUAGE="Javascript"> /* fenetres.js * Role : modifie les proprietes et le contenu des fenetres du navigateur * Projet : JsLib * Auteur : Etienne CHEVILLARD (echevillard@users.sourceforge.net) * Version : 1.3 * Creation : 16/09/2002 * Mise a jour : 23/02/2005 */
// --- Variables globales ---
// gestion des fenetres var fntrs_ids=new Array(100); fntrs_ids[0]="self"; var fntrs_obj=new Array(100); fntrs_obj[0]=self; var fntrs_cpt=1;
// --- Fonctions ---
// active la fenetre specifiee en lui donnant le focus function activerFenetre(id) { for (var i=0; i<fntrs_cpt; i++) { if (fntrs_ids[i]==id) { if (window.focus) { fntrs_obj[i].focus(); return true; } else return false; } } return false; } // fin activerFenetre(id)
// deplace la fenetre specifiee du nombre de pixels specifie function deplacerFenetreDe(id, px, py) { if (isNaN(px)) { px=0; } if (isNaN(py)) { py=0; } for (var i=0; i<fntrs_cpt; i++) { if (fntrs_ids[i]==id) { fntrs_obj[i].moveBy(px,py); return true; } } return false; } // fin deplacerFenetreDe(id, px, py)
// deplace la fenetre specifiee vers les coordonnees specifiees function deplacerFenetreVers(id, x, y) { if ((isNaN(x)) || (parseInt(x)<0)) { x=0; } if (parseInt(x)>screen.width) { x=screen.width; } if ((isNaN(y)) || (parseInt(y)<0)) { y=0; } if (parseInt(y)>screen.height) { y=screen.height; } for (var i=0; i<fntrs_cpt; i++) { if (fntrs_ids[i]==id) { fntrs_obj[i].moveTo(x,y); return true; } } return false; } // fin deplacerFenetreVers(id, x, y)
// desactive la fenetre en lui enlevant le focus function desactiverFenetre(id) { for (var i=0; i<fntrs_cpt; i++) { if (fntrs_ids[i]==id) { if (window.blur) { fntrs_obj[i].blur(); return true; } else return false; } } return false; } // fin desactiverFenetre(id)
// modifie les dimensions de la fenetre specifiee function dimensionsFenetre(id, largeur, hauteur) { if ((isNaN(largeur)) || (parseInt(largeur)<10)) { largeur=10; } if (parseInt(largeur)>screen.width) { largeur=screen.width; } if ((isNaN(hauteur)) || (parseInt(hauteur)<10)) { hauteur=10; } if (parseInt(hauteur)>screen.height) { hauteur=screen.height; } for (var i=0; i<fntrs_cpt; i++) { if (fntrs_ids[i]==id) { fntrs_obj[i].resizeTo(largeur, hauteur); return true; } } return false; } // fin dimensionsFenetre(id, largeur, hauteur)
// ecrit le code HTML specifie dans une nouvelle fenetre function ecrireFenetre(id, texte, prop) { var fprp; if (!texte) { texte="<HTML><BODY></BODY></HTML>"; } if (!prop) { fprp="toolbar=1,location=1,directories=1,menubar=1,scrollbars=1,resizable=1,status=1"; } else { fprp=prop; } for (var i=0; i<fntrs_cpt; i++) { if (fntrs_ids[i]==id) { fntrs_obj[i]=window.open("about:blank", id, fprp); fntrs_obj[i].document.open(); fntrs_obj[i].document.write(texte); fntrs_obj[i].document.close(); if (window.focus) { fntrs_obj[i].focus(); } return true; } } fntrs_ids[fntrs_cpt]=id; fntrs_obj[fntrs_cpt]=window.open("about:blank", id, fprp); fntrs_obj[fntrs_cpt].document.open(); fntrs_obj[fntrs_cpt].document.write(texte); fntrs_obj[fntrs_cpt].document.close(); if (window.focus) { fntrs_obj[fntrs_cpt].focus(); } fntrs_cpt=fntrs_cpt+1; return true; } // ecrireFenetre(id, texte, prop)
// ecrit le code HTML specifie dans une nouvelle fenetre en mode plein ecran function ecrirePleinEcran(id, texte) { var fprp="fullscreen=1,left=0,top=0,width="+(screen.width-6)+",height="+(screen.height-26); ecrireFenetre(id, texte, fprp); deplacerFenetreVers(id, 0, 0); return true; } // fin ecrirePleinEcran(id, texte)
// ecrit le code HTML specifie dans une nouvelle fenetre de type popup function ecrirePopup(id, texte) { var fprp="left="+Math.floor((screen.width-250)/2)+",top="+Math.floor((screen.height-190)/2); fprp+=",width=250,height=150,status=0,directories=0,toolbar=0"; fprp+=",location=0,menubar=0,scrollbars=0,resizable=0"; ecrireFenetre(id, texte, fprp); return true; } // fin ecrirePopup(id, texte)
// modifie le contenu de la barre d'etat de la fenetre specifiee function etatFenetre(id, texte) { if (!texte) { texte=""; } for (var i=0; i<fntrs_cpt; i++) { if (fntrs_ids[i]==id) { fntrs_obj[i].defaultStatus=texte; fntrs_obj[i].status=texte; return true; } } return false; } // fin etatFenetre(id, texte)
// ferme la fenetre function fermerFenetre(id) { for (var i=0; i<fntrs_cpt; i++) { if (fntrs_ids[i]==id) { if (i==0) fntrs_obj[i].opener=top; fntrs_obj[i].close(); fntrs_ids[i]=""; return true; } } return false; } // fin fermerFenetre(id)
// ouvre l'URL specifiee dans une fenetre function ouvrirFenetre(id, url, prop) { var fprp; if (!url) { url="about:blank"; } if (!prop) { fprp="toolbar=1,location=1,directories=1,menubar=1,scrollbars=1,resizable=1,status=1"; } else { fprp=prop; } for (var i=0; i<fntrs_cpt; i++) { if (fntrs_ids[i]==id) { fntrs_obj[i]=window.open(url, id, fprp); if (window.focus) { fntrs_obj[i].focus(); } return true; } } fntrs_ids[fntrs_cpt]=id; fntrs_obj[fntrs_cpt]=window.open(url, id, fprp); if (window.focus) { fntrs_obj[fntrs_cpt].focus(); } fntrs_cpt=fntrs_cpt+1; return true; } // fin ouvrirFenetre(id, url, prop)
// ouvre l'URL specifiee en plein ecran function ouvrirPleinEcran(id, url) { var fprp="fullscreen=1,left=0,top=0,width="+(screen.width-6)+",height="+(screen.height-26); ouvrirFenetre(id, url, fprp); deplacerFenetreVers(id, 0, 0); return true; } // fin ouvrirPleinEcran(id, url)
// ouvre l'URL specifiee dans une fenetre de type popup function ouvrirPopup(id, url) { var fprp="left="+Math.floor((screen.width-250)/2)+",top="+Math.floor((screen.height-150)/2); fprp+=",width=250,height=150,status=0,directories=0,toolbar=0"; fprp+=",location=0,menubar=0,scrollbars=0,resizable=0"; ouvrirFenetre(id, url, fprp); return true; } // fin ouvrirPopup(id, url)
// redirige la fenetre vers l'URL specifiee function redirigerFenetre(id, url) { if (!url) { url="about:blank"; } for (var i=0; i<fntrs_cpt; i++) { if (fntrs_ids[i]==id) { if (window.location.replace) fntrs_obj[i].location.replace(url); else fntrs_obj[i].location.href=url; return true; } } return false; } // fin redirigerFenetre(id, url)
</SCRIPT> </HEAD>
<BODY> <H1>JsLib 1.3</H1> <HR> <H2>Exemple - fenetres.js</H2>
<NOSCRIPT> <P><I>Erreur : votre navigateur ne reconnait pas le Javascript ou est configuré pour ne pas prendre en compte le code Javascript. Dans ce dernier cas, vous pouvez modifier la configuration dans les préférences/options de votre navigateur.</I> <HR> </NOSCRIPT>
<FORM ACTION="GET" NAME="f1"> <P>Ouvrir une nouvelle fenêtre :<BR> <INPUT TYPE="text" NAME="t1" VALUE="http://www.google.fr/" SIZE=50><BR> <INPUT TYPE="button" VALUE="Fenêtre (fen1)" onClick="ouvrirFenetre('fen1', this.form.t1.value)"> <INPUT TYPE="button" VALUE="Plein écran (ecr1)" onClick="ouvrirPleinEcran('ecr1', this.form.t1.value)"> <INPUT TYPE="button" VALUE="Popup (pop1)" onClick="ouvrirPopup('pop1', this.form.t1.value)">
<P>Créer une nouvelle page Web dans une nouvelle fenêtre :<BR> <TEXTAREA NAME="t2" ROWS=5 COLS=50> <HTML> <HEAD><TITLE>Test</TITLE></HEAD> <BODY>Page de test</BODY> </HTML></TEXTAREA><BR> <INPUT TYPE="button" VALUE="Fenêtre (fen2)" onClick="ecrireFenetre('fen2', this.form.t2.value)"> <INPUT TYPE="button" VALUE="Plein écran (ecr2)" onClick="ecrirePleinEcran('ecr2', this.form.t2.value)"> <INPUT TYPE="button" VALUE="Popup (pop2)" onClick="ecrirePopup('pop2', this.form.t2.value)">
<P>Fermer une fenêtre :<BR> <INPUT TYPE="button" VALUE="Fermer cette fenêtre" onClick="fermerFenetre('self')"> <INPUT TYPE="button" VALUE="Fermer fen1" onClick="fermerFenetre('fen1')">
<P>Placer une fenêtre au premier plan ou à l'arrière-plan (fen 1) :<BR> <INPUT TYPE="button" VALUE="Activer fen1" onClick="activerFenetre('fen1')"> <INPUT TYPE="button" VALUE="Désactiver fen1" onClick="desactiverFenetre('fen1')">
<P>Déplacer une fenêtre (fen 1) :<BR> <P>Position absolue (coordonnées en pixels) :<BR> X= <INPUT TYPE="text" NAME="t3" SIZE=5 VALUE="150"> Y= <INPUT TYPE="text" NAME="t4" SIZE=5 VALUE="150"> <INPUT TYPE="button" VALUE="Déplacer fen1" onClick="deplacerFenetreVers('fen1', parseInt(this.form.t3.value), parseInt(this.form.t4.value))"> <TABLE SUMMARY="" BORDER=0 CELLSPACING=0 CELLPADDING=0><TR><TD> Position relative (incrément de 10 pixels) : </TD><TD ALIGN=CENTER> <INPUT TYPE="button" VALUE="Haut" onClick="deplacerFenetreDe('fen1', 0, -10)"><BR> <INPUT TYPE="button" VALUE="Gauche" onClick="deplacerFenetreDe('fen1', -10, 0)"> <INPUT TYPE="button" VALUE="Bas" onClick="deplacerFenetreDe('fen1', 0, 10)"> <INPUT TYPE="button" VALUE="Droite" onClick="deplacerFenetreDe('fen1', 10, 0)"> </TD></TR></TABLE>
<P>Modifier la largeur et la hauteur d'une fenêtre (fen1) :<BR> <P>Dimensions (en pixels) : <BR> Largeur = <INPUT TYPE="text" NAME="t5" SIZE=10 VALUE="400"> Hauteur = <INPUT TYPE="text" NAME="t6" SIZE=10 VALUE="300"> <INPUT TYPE="button" VALUE="Redimensionner fen1" onClick="dimensionsFenetre('fen1', parseInt(this.form.t5.value), parseInt(this.form.t6.value))">
<P>Modifier le contenu de la barre d'état d'une fenêtre (fen1) :<BR> <INPUT TYPE="text" NAME="t7" VALUE="texte à placer dans la barre d'état" SIZE=50> <INPUT TYPE="button" VALUE="Mettre à jour fen1" onClick="etatFenetre('fen1', this.form.t7.value)">
<P>Rediriger une fenêtre vers une autre URL (fen1) :<BR> <INPUT TYPE="text" NAME="t8" VALUE="http://www.yahoo.fr/" SIZE=50> <INPUT TYPE="button" VALUE="Rediriger fen1" onClick="redirigerFenetre('fen1', this.form.t8.value)">
</FORM>
</BODY> </HTML>
|