2012-04-24 8 views
0

Je suis un débutant en javascript et je dois faire l'opération suivante: J'ai une application asp .net qui charge dans un nouveau navigateur de fenêtre un autre contenu.Détecter la fenêtre du navigateur en javascript

Grâce à javascript, j'ai besoin de rafraîchir le popup que j'ai ouvert auparavant, mais je ne sais pas comment je peux trouver cette nouvelle fenêtre.

J'ai essayé un window.location.reload(true); simple mais cela provoquera une actualisation seulement de la fenêtre principale du navigateur qui a lancé le popup. Au lieu de cela, mon intention est d'actualiser uniquement la fenêtre contextuelle.

Répondre

1

Lorsque vous ouvrez la fenêtre, donnez-lui un nom (ou stocker la valeur de retour de la fenêtre). Ensuite, au lieu de window.location.reload, appelez name.location.reloadname est le nom que vous avez donné à la fenêtre.

+0

1 seconde plus rapide que moi. : Je –

+0

Merci, mais mon problème est que je n'ai pas accès à la méthode window.open (donc je ne connais pas le nom). Est-il possible de récupérer le nom d'autres façons? – Marco

1

Si vous ouvrez la fenêtre avec window.open(), récupérez sa valeur de retour. C'est une référence à l'objet fenêtre de la popup. De là, vous pouvez appeler location.reload(). Par exemple, cela ouvrira une fenêtre, puis le recharger à nouveau:

var popup = window.open('/somepage'); 
popup.location.reload(true); 
+0

remercient, mais mon problème est que je ne l'ai pas accès à la méthode window.open (donc je ne connais pas le nom). Est-il possible de récupérer le nom d'autres façons? – Marco

+0

Comment exactement ouvrez-vous la popup alors? – LukeGT

+0

J'utilise un framework externe appelé webgui visuel et j'utilise un appel interne qui ouvre le popup – Marco

1

magasin une référence à votre fenêtre, puis au lieu d'appeler la fonction location.reload() sur votre fenêtre principale, appelez la fenêtre pop-up, comme ceci:

var myNewWindow = window.open(...); 
myNewWindow.location.reload(true); 
1

créez-vous la nouvelle fenêtre en utilisant Javascript? si vous utilisez window.open(), cette fonction retourne une référence à la nouvelle fenêtre, vous pouvez donc faire quelque chose comme ceci:

var newWin = window.open(); 
newWin.location.reload(true); 
Questions connexes