2012-07-27 5 views
2

J'ai le code qui renvoie une autre page (Google) dans une fenêtre popup (enfant). Je ne peux pas écrire de code dans une fenêtre enfant et je dois donc tout faire depuis le parent. J'essaye de lier l'événement onblur du parent à la fenêtre d'enfant de sorte que la fenêtre d'enfant devrait être fermée une fois qu'elle a perdu le foyer. Cependant, la fenêtre de l'enfant éclabousse pendant une micro seconde et se ferme automatiquement.Fermer fenêtre enfant de Parent onblur en utilisant Javascript

Je ne peux pas utiliser jQuery dans l'environnement dans lequel je travaille.

Voici mon exemple de code:

<html> 
<head> 
</head> 

<body> 
<input type="button" value="Open Google" onclick="OpenWindow()" /> 

<script type="text/javascript"> 

function OpenWindow() 
{ 
    var url="http://www.google.com"; 

    var newWin=window.open(url, 'Popup','height=500,width=600,left=100,top=100,resizable=yes,scrollbars=no,toolbar=no,status=no'); 
    newWin.focus(); 
    newWin.onblur = newWin.close();  
} 
</script> 

</body> 
</html> 

Répondre

6

sautez la parenthèse derrière .close()

newWin.onblur = newWin.close; 

Vous voulez passer une référence de fonction, vous ne voulez pas affecter la valeur qui est renvoyée en exécutant .close().

0

J'ai obtenu une solution.

Utilisez "window.top.close();"

1

Une autre réponse peut être comme suit:

function open_popup() { 
       var my_window = window.open("", 'targetWindow', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=750px,height=500px'); 
       var html = ''; 
       html = "Muhammad Shoaib Qureshi's New Window Text"; 
       my_window.document.write(html); 
       my_window.focus(); 
       my_window.onblur = function() { 
        my_window.close(); 
       }; 
      } 

Aucune solution travaillait pour moi autre que celui-ci ci-dessus.

Cordialement, Shoaib.

Questions connexes