Téléchargement
illégal
Posez votre question Signaler

Window.open et ouverture de fenêtre [Résolu]

mijad 109Messages postés 21 novembre 2000Date d'inscription 5 novembre 2011Dernière intervention - Dernière réponse le 19 juil. 2011 à 12:12
Bonjour.
Pour la gestion de mon intranet, j'aimerais souhaiter leur anniversaire à mes collaborateurs autrement.
Actuellement, je le fais sur une page de l'intranet de cette manière :
avec un fichier "anniv.js"
----------------------------
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 == "12 mars") { document.write("Bon anniversaire Michel"); }
if (date == "27 avril") { document.write("Bon anniversaire Jean"); }
if (date == "7 mai") { document.write("Bon anniversaire Laurent"); }
--------------------------------------------------------------------
et le code que j'écris sur la page où je veux voir apparaître le message :
<script language="JavaScript" src="anniv.js" type="text/JavaScript"></script>
--------------------------------------------------------------------
En fait, sur base de cela, je voudrais ouvrir une fenêtre à partir de ma page d'accueil, ce serait plus convivial qu'une petite phrase perdue au bas d'une page.
Si quelqu'un pouvait éclairer ma lanterne, je l'en remercie d'avance.
Lire la suite 

Window.open et ouverture de fenêtre »

22 réponses
Réponse
+1
moins plus
Bonjour,

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+
Reivax962- 30 déc. 2009 à 19:37
Bonjour,

Les deux sont utilisables indifféremment en javascript.

Xavier
boivsam - 18 juil. 2011 à 20:30
pas tout à fait... en javascript, les guillets (") et apostrophes (') ont une différence : si on mets le nom d'une variable (ex: chat = "lily") entre " et ", la valeur sera utilisée (lily) tandis que si on met n'importe quoi entre ' et ' c'est le String qui sera utilité (chat).
Reivax962- 19 juil. 2011 à 12:12
N'importe quoi ^^'
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 !
Ajouter un commentaire
Réponse
+0
moins plus
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...
Reivax962- 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
mijad- 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.
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

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+
Reivax962Reivax962 - 19 mars 2007 à 11:53
Quel est le contenu de ce anniv.js, exactement ?
Sinon, pas de soucis pour le "type", c'est bien du texte (même si c'est dans un fichier annexe, c'est du texte)
mijad- 19 mars 2007 à 18:58
Bonsoir Reivax.

La réponse est dans ma question au tout début de ce fil de discussion. Je reproduis le code utilisé dans ce fichier anniv.js.

Note que ce que je cherche est de faire apparaître une pop-up à une date déterminée, au lieu d'un texte au bas d'une page.
Reivax962- 20 mars 2007 à 10:09
Oui, sauf que si tu n'as rien modifié dans ce script, ça ne fonctionnera pas :)

La page en question doit être appelée en rajoutant ?nom=Serge par exemple...
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour Reivax.

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 ?
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
Ouf !
J'avoue que je ne comprenais plus où était le problème :)

Bon courage pour la suite !
Ajouter un commentaire
Réponse
+0
moins plus
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...
Ajouter un commentaire
Ce document intitulé « window.open et ouverture de fenêtre » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?