Window.open et ouverture de fenêtre
Résolu
mijad
Messages postés
118
Date d'inscription
Statut
Membre
Dernière intervention
-
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Window.open html
- Editeur html - Télécharger - HTML
- Espace html ✓ - Forum HTML
- [**] Balise pour un espace vide en hml. Merci ✓ - Forum Webmastering
- Html download - Télécharger - HTML
- /Var/www/html/index.html ✓ - Forum Linux / Unix
7 réponses
Bonjour,
voici un truc qui pourrait te mettre sur la voie:
à la place de document.write, mets:
Les deux dernière valeures sont la taille de ta fenêtre en Px. L'identifiant de la page à ouvrir est optionnelle mais ça pourra te servir. Dans ta nouvelle page html, ilsuffit de mettre "Bon anni Machin" et le tour est joué.
A+
voici un truc qui pourrait te mettre sur la voie:
à la place de document.write, mets:
if (date == "12 mars") { window.open('ta_page_html.html','identifiant_de_ta_page', toolbar=0,menubar=0,location=0,scrollbars=1, width=720,height=720'); }
Les deux dernière valeures sont la taille de ta fenêtre en Px. L'identifiant de la page à ouvrir est optionnelle mais ça pourra te servir. Dans ta nouvelle page html, ilsuffit de mettre "Bon anni Machin" et le tour est joué.
A+
Bonjour et merci pour ta réponse.
Si je te comprends bien, je devrais construire autant de pages que j'ai de collaborateurs. Huummm, çà va m'en faire beaucoup.
Partant de ce principe, ne serait'il pas possible de construire une seule page qui sera appelée comme dans ton code et qu'une fois ouverte, cette page reçoive le texte à afficher (comme dans mon code) ?
En quelque sorte, se serait de pouvoir combiner ton code et celui que j'utilise actuellement.
Est-ce possible dans un seul fichier "JS" ?
Si oui, comment ?
Et si non, comment contourner çà ?
A bientôt...
Si je te comprends bien, je devrais construire autant de pages que j'ai de collaborateurs. Huummm, çà va m'en faire beaucoup.
Partant de ce principe, ne serait'il pas possible de construire une seule page qui sera appelée comme dans ton code et qu'une fois ouverte, cette page reçoive le texte à afficher (comme dans mon code) ?
En quelque sorte, se serait de pouvoir combiner ton code et celui que j'utilise actuellement.
Est-ce possible dans un seul fichier "JS" ?
Si oui, comment ?
Et si non, comment contourner çà ?
A bientôt...
Bonjour Reivax.
J'ai testé la méthode alert(), mais je n'aime pas du tout cette boite de type message d'erreur.
J'ai créé une page HTML, style carte de voeux et l'avantage est que je pourrais la modifier à tout moment. Par contre, si j'ai une page par personne, çà me prendra un certain temps pour adapter toutes les cartes.
J'ai testé la méthode alert(), mais je n'aime pas du tout cette boite de type message d'erreur.
J'ai créé une page HTML, style carte de voeux et l'avantage est que je pourrais la modifier à tout moment. Par contre, si j'ai une page par personne, çà me prendra un certain temps pour adapter toutes les cartes.
Salut,
Pour ne faire qu'une seule popup, récupère la variable à afficher dans celle-ci:
Ici, la variable est le nom de clui qui fête son anniversaire.
A+
Pour ne faire qu'une seule popup, récupère la variable à afficher dans celle-ci:
if (date == "12 mars") { window.open('ta_page_dynamique.asp?anniversaire=Albert','identifiant_de_ta_page', toolbar=0,menubar=0,location=0,scrollbars=1, width=720,height=720'); }
Ici, la variable est le nom de clui qui fête son anniversaire.
A+
La solution d'Aquel nécessite d'avoir un serveur ASP (qui est le même genre de chose qu'un serveur php, dans une autre technologie).
C'est assez lourd à mettre en place.
Ceci dit, il donne une bonne piste.
Crées une page de voeux générique, que tu appelles par exemple anniv.html
Dedans, rajoute ce code :
Pour appeler ta page, il te suffit alors d'appeler, comme tu le faisais, la page "anniv.html?nom=John" (John n'étant qu'un exemple).
Qu'en penses-tu ?
Xavier
C'est assez lourd à mettre en place.
Ceci dit, il donne une bonne piste.
Crées une page de voeux générique, que tu appelles par exemple anniv.html
Dedans, rajoute ce code :
<script language="javascript"> function setNom() { var url = window.location.href; var pos = url.indexOf("?nom=") + 5; var nom = ""; var resultat = ""; if (pos != -1+5) nom = url.substring(pos); document.getElementById("span_nom").innerHTML = nom; }</script>A la place où tu veux voir le nom apparaître, mets ceci :
<span id="span_nom"> </span>Et enfin, dans la balise <body>, rajoute ceci :
<body onload="setNom();">
Pour appeler ta page, il te suffit alors d'appeler, comme tu le faisais, la page "anniv.html?nom=John" (John n'étant qu'un exemple).
Qu'en penses-tu ?
Xavier
Bonjour Reivax.
Il me semble suivre correctement les instructions, mais rien ne se passe.
Je te passe le code de la page "anniv.htm", si tu pouvais me dire ce qui coince, ce serait sympa.
***************
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Happy Birthday</title>
<style>
<!--
p.MsoNormal
{mso-style-parent:"";
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";
margin-left:0cm; margin-right:0cm; margin-top:0cm}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body background="../images/card.gif" bgproperties="fixed" onload="setNom();">
<script language="javascript">
function setNom()
{
var url = window.location.href;
var pos = url.indexOf("?nom=") + 5;
var nom = "";
var resultat = "";
if (pos != -1+5)
nom = url.substring(pos);
document.getElementById("span_nom").innerHTML = nom;
}</script>
<br><br><br><br><br><br><br><br><br><br><br><br>
<p align="center"><font face="Harlow Solid Italic" color="#0000ff" size="5">
<span id="span_nom"> </span>
</font></p>
</body>
</html>
***************
Merci et @+
Michel.
Il me semble suivre correctement les instructions, mais rien ne se passe.
Je te passe le code de la page "anniv.htm", si tu pouvais me dire ce qui coince, ce serait sympa.
***************
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Happy Birthday</title>
<style>
<!--
p.MsoNormal
{mso-style-parent:"";
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";
margin-left:0cm; margin-right:0cm; margin-top:0cm}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body background="../images/card.gif" bgproperties="fixed" onload="setNom();">
<script language="javascript">
function setNom()
{
var url = window.location.href;
var pos = url.indexOf("?nom=") + 5;
var nom = "";
var resultat = "";
if (pos != -1+5)
nom = url.substring(pos);
document.getElementById("span_nom").innerHTML = nom;
}</script>
<br><br><br><br><br><br><br><br><br><br><br><br>
<p align="center"><font face="Harlow Solid Italic" color="#0000ff" size="5">
<span id="span_nom"> </span>
</font></p>
</body>
</html>
***************
Merci et @+
Michel.
Bonjour Reivax.
Résumons... Dans mon fichier "anniv.js" qui reprends toutes les dates d'anniversaire, j'ai ceci :
Sur ma page "menu.htm", celle où la carte est appelée, j'ai ceci :
Enfin, sur ma page "anniv.htm", j'ai ceci :
Dans le Head :
Dans le Body :
Et çà ne m'affiche toujours pas ma page "anniv.htm". :-(
Qu'est-ce que j'oublie ?
Résumons... Dans mon fichier "anniv.js" qui reprends toutes les dates d'anniversaire, j'ai ceci :
function TodayDate() { var m = new Array( "janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"); var today = new Date(); var day = today.getDate(); return (day + " " + m[today.getMonth()]); } var date = TodayDate(); if (date == "20 mars") { window.open('13-pop-up/anniv.htm?nom=Michel','', toolbar=0,menubar=0,location=0,scrollbars=1, width=577,height=365'); }
Sur ma page "menu.htm", celle où la carte est appelée, j'ai ceci :
<script language="JavaScript" src="00-pages/anniv.js" type="text/JavaScript"></script>
Enfin, sur ma page "anniv.htm", j'ai ceci :
Dans le Head :
<script language="javascript"> function setNom() { var url = window.location.href; var pos = url.indexOf("?nom=") + 5; var nom = ""; var resultat = ""; if (pos != -1+5) nom = url.substring(pos); document.getElementById("span_nom").innerHTM = nom; } </script>
Dans le Body :
<span id="span_nom"> </span>
Et çà ne m'affiche toujours pas ma page "anniv.htm". :-(
Qu'est-ce que j'oublie ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
OK, mon problème est résolu.
Je mentionnais un chemin erroné vers "anniv.htm". Désolé de ne pas l'avoir vu plus vite.
Pour "anniv.htm", j'ai utilisé un deuxième fichier "js" (une copie de l'original en fait) et tout roule bien.
Je mentionnais un chemin erroné vers "anniv.htm". Désolé de ne pas l'avoir vu plus vite.
Pour "anniv.htm", j'ai utilisé un deuxième fichier "js" (une copie de l'original en fait) et tout roule bien.
Merci Reivax.
En fait, après avoir retrouvé le bon "path" vers mon fichier, j'ai encore ramé un peu avec function setNom() dans le fichier "anniv.htm", alors pour ce fichier j'ai réutilisé la procédure que j'utilisais avant. J'ai donc un "JS" avec "window.open()" sur la page qui appelle la pop-up et un autre avec "document.write()" sur la pop-pup "anniv.htm".
Espérons que çà aidera d'autres personnes...
En fait, après avoir retrouvé le bon "path" vers mon fichier, j'ai encore ramé un peu avec function setNom() dans le fichier "anniv.htm", alors pour ce fichier j'ai réutilisé la procédure que j'utilisais avant. J'ai donc un "JS" avec "window.open()" sur la page qui appelle la pop-up et un autre avec "document.write()" sur la pop-pup "anniv.htm".
Espérons que çà aidera d'autres personnes...
j'ai fait un petit tour sur le net et j'en conclus qu'il existe une grande confusion sur la syntaxe exacte de la fonction javascript window.open().
Les choses ne sont pas claires car certains parlent de window.open('blabla.aspx','mafenetre','height=100, width=...');
tandis que d'autres disent :window.open("blabla.aspx","mafenetre","height=100, width=...");
Il faut savoir : c'est le guillemet (") qu'il faut mettre ou bien c'est l'apostrophe (') ?
Cordialement.
Les deux sont utilisables indifféremment en javascript.
Xavier
Là, tu parles de php... Vu qu'il n'y a pas de marqueur de variable en Javascript, comme le $ de php, le fonctionnement que tu décris serait tout simplement inutilisable et irréaliste !