2010-11-11 8 views
0

Cela se produit uniquement dans Internet Explorer (œuvres dans Chrome, Firefox):JavaScript Pop Up Problème

La première fois que je clique sur le lien, il ouvre la pop-up, la deuxième fois, il me rediriger vers la page .

Lorsque j'actualise la page, la fenêtre contextuelle fonctionne la première fois et la deuxième fois, elle redirige à nouveau.

function popUpWindow(win) { 
    myWindow = window.open(win, "popupwin", "height=310,width=570,resizeable=0, menubar=0,toolbar=0,location=0, directories=0,status=0"); 
} 

Voilà comment j'appelle la fonction

<a href="#" onclick="popUpWindow('/usere.htm'); return false;">User Status</a> 

EDIT: Je suis désolé, la deuxième fois, il ne redirige pas, rien ne se passe quand je clique sur le lien, il réoriente. EDIT: Je ferme la fenêtre contextuelle lorsqu'elle s'ouvre la première fois, puis cliquez à nouveau sur le lien contextuel.

J'ai essayé toutes les solutions présentées ci-dessous, ce que j'ai trouvé est que la méthode JavaScript n'est pas appelée la deuxième fois que je clique sur le lien.

+0

essayer de poster une partie de votre code, peut-être son un popup javascript, et que vous rencontrez une erreur javascript IE uniquement (ce qui est commun) et puis la deuxième popup échoue, et le lien de repli est en cours, ouvrant ainsi dans le navigateur principal au lieu du popup. – superfro

+0

@superfro - fait –

+0

redirige quelle page la deuxième fois? Celui que vous avez commencé, ou il redirige celui qui était apparu? – Matt

Répondre

0

Vérifiez si la fenêtre a déjà été ouverte ou ouverte et ensuite fermée. Ce qui suit va focaliser le pop-up s'il existe ou ouvrir un pop-up sinon. Il n'est pas clair si vous voulez toujours un nouveau pop-up ou si focaliser un existant est assez bon.

var myWindow = null; 

function popUpWindow(win) { 
    if (!myWindow || myWindow.closed) { 
    myWindow = window.open(win, "popupwin", "height=310,width=570,resizeable=0, menubar=0,toolbar=0,location=0, directories=0,status=0"); 
    } else { 
    myWindow.focus(); 
    } 
} 

Si vous voulez toujours fermer un pop-up existant avant d'ouvrir une nouvelle:

var myWindow = null; 

function popUpWindow(win) { 
    if (myWindow && !myWindow.closed) { 
    myWindow.close(); 
    } 
    myWindow = window.open(win, "popupwin", "height=310,width=570,resizeable=0, menubar=0,toolbar=0,location=0, directories=0,status=0"); 
} 
0

Je suppose que vous voulez rafraîchir la fenêtre que vous feriez comme ceci:

var myWindow = null; 
function popUpWindow(win) { 
    if (myWindow && !myWindow.closed) { 
     myWindow.close(); 
    } 
    myWindow = window.open(win, name, options); 
} 
0

Si le problème est que le popup est redirigé la deuxième fois, c'est un comportement correct selon le code. Le paramètre name est spécifié afin qu'une popup puisse être réutilisée. Je ne recommande pas nécessairement, mais vous pourriez l'utiliser pour ouvrir plusieurs fenêtres pop-up:

var popupIndex = 0; 
function popUpWindow(win) { 
    myWindow = window.open(win, "popupwin" + popupIndex++, "height=310,width=570,resizeable=0, menubar=0,toolbar=0,location=0, directories=0,status=0"); 
} 
+0

J'ai essayé cela, je ne pouvais pas le faire fonctionner. –