IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

popop window.open événement OnUnLoad


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Par défaut popop window.open événement OnUnLoad
    Bonjour à tous,

    ceci est la suite d'une précédente discussion... maintenant je sais que pour faire ce que je veux, je dois utiliser du javascript, donc ce forum est particulièrement adapté.

    Voilà donc je crée d'abord une fonction javascript

    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <SCRIPT language="javascript">
        function popup(page) {
          window.open(page);
        }
    </SCRIPT>
    ensuite, je fais appelle à cette fonction après le body

    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html><BODY BGCOLOR="#FFFFCC" OnLoad="javascript:popup('result.php') OnUnLoad="javascript:popup('result.php')">
    j'ai mis le popup à la fois sur ouverture et fermeture, pour voir...

    mais ça ne fonctionne pas... result.php n'est ni ouvert au chargement ni ouvert à la fermeture...

    En revanche, le lien suivant

    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <A href="javascript:popup('result.php')">Ouverture popup basique</A>
    permet bien d'ouvrir result.php dans une fenêtre...


    Quelqu'un peut-il m'aider???


    Cordialement
    Matheu

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <BODY BGCOLOR="#FFFFCC" onload="popup('result.php');" onunload="popup('result.php')">
    ... et pas de "Javascript:" dans le code des évènements.

    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Par défaut
    bon, je ne rentrerai pas dans le débat de la superposition des couches parce que je n'ai pas d'avis sur la question...

    mais voilà en fait quand on y réfléchit bien... le problème c'est que internet explorer est paramétré par défaut pour bloquer les pop-up... donc en fait l'événement sur le Onunload ne fonctionne pas...

    comment faire donc sans les pop-up, pour qu'une page voulue s'ouvre quand on en ferme une autre??? avez-vous une solution?

    Cordialement
    Mathieu

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Par défaut
    ah oui, aussi, autre chose que je viens de remarquer:

    quand l'utilisateur quitte la page simplement parce qu'il a cliqué sur un lien "Suivant" de cette page, je ne souhaite pas que la page correspondant à l'événement Unonload s'affiche... en fait je voudrais juste qu'elle s'affiche si l'utilisateur a fermé la fenêtre en utilisant la croix noire en haut en droite (sur un système windows)...

    quelqu'un a-t-il la solution???


    Mathieu

  5. #5
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Par défaut
    Que veux tu faire avec ces pop up? N'y a t-il pas un moyen moins intrusif de le faire.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Par défaut
    ben je sais pas s'il n'y a pas un moyen moins intrusif... c'est toi l'expert!

    en fait voilà, je t'explique ce que je veux faire: il y a un formulaire sur une première page, j'espère que le visiteur sur mon site va le remplir.
    -> s'il le remplit c'est ok, il passe à la deuxième page et tout va bien
    -> sinon, s'il ferme la fenêtre avec la croix en haut à droite (dans windows), je voudrais que s'affiche une page de "substitution"

    Comment faire cela sans le pop-up? Ou au pire, avec le pop-up, mais que le comportement soit différent suivant les deux cas décrits plus hauts?

    Merci pour ton aide
    Mathieu

  7. #7
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Par défaut
    Citation Envoyé par E.Bzz
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <BODY BGCOLOR="#FFFFCC" onload="popup('result.php');" onunload="popup('result.php')">
    ... et pas de "Javascript:" dans le code des évènements.

    A+
    Encore mieux, pas de javascript dans l'html.

    On appelle cela, le unobstrusive javascript.
    A savoir, qu'au même titre que la séparation du fond et la forme, on sépare la logique de la fond.

    On évitera donc, pour des raisons, de légereté ou de maintenance, de mettre du code applicatif dans le code d'affichage.

    Prennons un exemple concret :

    Des lignes de tableaux. Chacune possède un evenement de rollover. En modifiant une fonction affectée à ce rollover, on devrait hypothétiquement, dans le cas du code appplicatif DANS le code html, le modifier à tous les endroits ou il est présent sur le site.

    Alors qu'en séparant les couches, il suffit de modifer, le code et uniquement le code.

    C'est une base du dom scripting, et une base essentielle en programmation.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Par défaut
    Tu sais, j'ai déjà du mal à discerner les couches dans mon esprit alors... je pense que tout ceci viendra avec le temps, mais pour l'instant je veux juste une petite application pour mon usage personnel...

    Et... la réponse à ma question?

    Cordialement
    Mathieu

  9. #9
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Par défaut
    Le onunload peut être trigger au changement de page, tu décharges une page pour en charger une autre, en d'autre termes tu fais un onunload puis un onload.

    Pour ton cas, tu ne peux pas distunguer les deux. Si tu veux vraiment une pop up (en l'occurence pseudo popup, ou pop up interne) c'est vraiment pas user friendly, essayer de neutraliser l'evenement (il me semble que c'est onbeforeunload) et d'afficher la pseudo popup.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Par défaut
    aïe, comme tu l'as compris, je suis assez débutant, et j'ai vraiment pas compris ce que tu me disais...

    quelle est ta stratégie exactement? utiliser OnBeforeOnLoad? utiliser conjointement OnLoad et OnUnLoad? je ne comprends pas très bien comment ça va pouvoir répondre à ma question

    d'après une doc que j'ai trouvé sur le web
    "IL peut s'agir d'un changement de page ou d'une fermeture de la fenête, les scripts javascript sont incapables de faire la différence entre les deux. "
    http://quentinc.net/ref/events/onbeforeunload/


    A+
    Mathieu

Discussions similaires

  1. onunload window open
    Par rexxys dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/10/2013, 13h15
  2. coordonnées d'une fenêtre avec window.open
    Par neecolas dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/05/2005, 09h08
  3. Problème de titre avec la fonction window.open
    Par kloss dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/04/2005, 18h34
  4. window.opener ____ perdu
    Par camyo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/02/2005, 16h01
  5. QueryString avec window.Open ??
    Par christine dans le forum ASP
    Réponses: 4
    Dernier message: 29/08/2003, 09h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo