2009-10-16 7 views
1

Je dois ouvrir une fenêtre contextuelle qui, une fois fermée, ouvre une nouvelle fenêtre contextuelle. Puis, quand vous fermez l'un l'autre s'ouvre. Je suis conscient que cette fonctionnalité peut avoir des utilisations pour le spam et le nag-ware, mais j'en ai besoin pour une enquête sur l'expérience utilisateur. Ne me demandez pas, ce n'était pas mon idée.Comment pouvez-vous ouvrir une fenêtre contextuelle après en avoir fermé une autre?

Comment faites-vous ça?

+0

Utilisez une lorsque la fonction pour ce faire. –

+2

Je ne pense pas que ce soit subjectif et argumentatif. – SLaks

+6

Je l'ai déjà dit et je le répète: ne fermez pas la question si vous pouvez le réparer! Closers, qu'est-ce qui ne va pas avec la question afin qu'amvx puisse y remédier? Trop vague, il ne propose pas de solutions (juste ce que Joel vous demande de ne pas faire, il suffit de poser la question) ... quoi? –

Répondre

0

Popup la première fenêtre a un événement onclose dans la première fenêtre qui apparaît le deuxième et un événement onclose dans le second qui apparaît en premier. Avoir une sorte de bouton sur les deux pages qui supprime l'événement onclose afin que vous puissiez y échapper aussi.

7

Le Javascript dans la fenêtre pop-up peut accéder à la fenêtre d'origine en utilisant la propriété opener.

Gérez l'événement onbeforeunload dans chaque fenêtre contextuelle et appelez une fonction dans la fenêtre parente pour continuer le traitement (et ouvrez la fenêtre suivante).

Par exemple:

(Dans la fenêtre d'origine)

window.onPopupClose = function(popupName) { /* ... */ }; 

(Dans chaque fenêtre pop-up)

<body onbeforeunload="opener.onPopupClose('someName');}> ... </body> 

Le paramètre popupName est juste un exemple, vous pouvez faire ce que vous vouloir (comme avoir trois fonctions différentes).

+2

Fascinant. Je me suis toujours demandé ce que même Meebo et Gmail utilisent pour vous demander des choses quand vous essayez de fermer. onbeforeunload. Grand merci. –

0

Essayez:

<body onbeforeunload="javascript:window.open('Default.aspx','nsf','menubar=1,resizable=1,width=350,height=250');"> 

</body>