Window.open et ouverture de fenêtre
Résolu/Fermé
mijad
Messages postés
118
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
9 juillet 2024
-
12 mars 2007 à 13:59
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 19 juil. 2011 à 12:12
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 19 juil. 2011 à 12:12
A voir également:
- Window.open html
- Editeur html - Télécharger - HTML
- &Nbsp html - Forum HTML
- Espace en html - Astuces et Solutions
- Espace html ✓ - Forum HTML
- Br html - Forum CSS
7 réponses
Aquel
Messages postés
199
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
1 octobre 2009
10
12 mars 2007 à 19:01
12 mars 2007 à 19:01
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+
mijad
Messages postés
118
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
9 juillet 2024
13 mars 2007 à 11:47
13 mars 2007 à 11:47
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...
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
13 mars 2007 à 11:56
13 mars 2007 à 11:56
Bonjour,
Peut-être pourrais-tu utiliser alert() au lieu de document.write ?
Ce n'est pas le même genre de chose, mais l'effet est à peu près le même :)
Par contre, petit conseil, placer un cookie pour dire que le message a déjà été envoyé à cet utilisateur, sinon ça risque dêtre lourd :p
Peut-être pourrais-tu utiliser alert() au lieu de document.write ?
Ce n'est pas le même genre de chose, mais l'effet est à peu près le même :)
Par contre, petit conseil, placer un cookie pour dire que le message a déjà été envoyé à cet utilisateur, sinon ça risque dêtre lourd :p
mijad
Messages postés
118
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
9 juillet 2024
>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
13 mars 2007 à 12:00
13 mars 2007 à 12:00
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.
Aquel
Messages postés
199
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
1 octobre 2009
10
13 mars 2007 à 23:26
13 mars 2007 à 23:26
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+
mijad
Messages postés
118
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
9 juillet 2024
15 mars 2007 à 13:47
15 mars 2007 à 13:47
Bonjour Aquel.
Je vois que dans ton code, tu modifies 'ta_page_html.html' en 'ta_page_dynamique.asp?anniversaire=Albert'.
Puis-je simplement modifier l'extension de ma page ?
Je ne connais pas ASP, peux-tu me donner plus d'info ?
Je vois que dans ton code, tu modifies 'ta_page_html.html' en 'ta_page_dynamique.asp?anniversaire=Albert'.
Puis-je simplement modifier l'extension de ma page ?
Je ne connais pas ASP, peux-tu me donner plus d'info ?
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
15 mars 2007 à 14:42
15 mars 2007 à 14:42
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
mijad
Messages postés
118
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
9 juillet 2024
>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
16 mars 2007 à 13:49
16 mars 2007 à 13:49
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.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
16 mars 2007 à 14:06
16 mars 2007 à 14:06
Bonjour,
1 - Quel navigateur utilises-tu ? J'ai testé sous Firefox, et cela fonctionne...
2 - Comment ouvres-tu la page en question ?
3 - Dans le doute, place le bloc "<script language=...>...</script>" entre les balises <head> et </head>, c'est toujours mieux.
Xavier
1 - Quel navigateur utilises-tu ? J'ai testé sous Firefox, et cela fonctionne...
2 - Comment ouvres-tu la page en question ?
3 - Dans le doute, place le bloc "<script language=...>...</script>" entre les balises <head> et </head>, c'est toujours mieux.
Xavier
mijad
Messages postés
118
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
9 juillet 2024
>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
16 mars 2007 à 20:42
16 mars 2007 à 20:42
Je vérifierai çà lundi et je te tiens au courant.
Merci et @+
Michel.
Merci et @+
Michel.
mijad
Messages postés
118
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
9 juillet 2024
20 mars 2007 à 11:07
20 mars 2007 à 11:07
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
mijad
Messages postés
118
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
9 juillet 2024
21 mars 2007 à 14:44
21 mars 2007 à 14:44
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.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
21 mars 2007 à 14:51
21 mars 2007 à 14:51
Ouf !
J'avoue que je ne comprenais plus où était le problème :)
Bon courage pour la suite !
J'avoue que je ne comprenais plus où était le problème :)
Bon courage pour la suite !
mijad
Messages postés
118
Date d'inscription
mardi 21 novembre 2000
Statut
Membre
Dernière intervention
9 juillet 2024
21 mars 2007 à 17:53
21 mars 2007 à 17:53
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...
29 déc. 2009 à 12:24
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.
30 déc. 2009 à 19:37
Les deux sont utilisables indifféremment en javascript.
Xavier
18 juil. 2011 à 20:30
19 juil. 2011 à 12:12
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 !