2011-02-19 6 views
9
string dialog_url = "http://www.facebook.com/dialog/oauth?client_id=" + app_id + "&redirect_uri=" + Server.UrlEncode(my_url) + "&scope=" + permission; 
ClientScript.RegisterClientScriptBlock(typeof(Page), "key", "window.open('"+dialog_url+"','_parent','');");

J'utilise ce code pour la boîte de dialogue d'autorisation contextuelle. Lorsque l'utilisateur clique sur autoriser l'utilisateur de redirection facebook vers mon application dans la fenêtre contextuelle. J'ai besoin d'envoyer du code de la fenêtre popup à la fenêtre parent puis ferme la popup lorsque l'utilisateur clique sur autoriser.Comment fermer la fenêtre contextuelle et rediriger la fenêtre parent

Répondre

15

Dites-moi si c'est ce que vous cherchez ... Parent fenêtre:

<html> 
<head> 

    <script language="Javascript"> 

     function showFBWindow(){ 
      url = "allowfbchild.html" 
      newwindow=window.open(url,'name','height=200,width=150'); 
      if (window.focus) {newwindow.focus()} 
     } 

    </script> 

</head> 
<body> 

    <input type="button" OnClick="showFBWindow()" value="Open FB" /> 

</body> 
</html> 

fenêtre enfant (allowfbchild.html):

<html> 
<head> 

    <script language="Javascript"> 

     function redirectToFB(){ 
      window.opener.location.href="http://wwww.facebook.com"; 
      self.close(); 
     } 

    </script> 

</head> 
<body> 

    Allow the user to view FB 
    <br/>Are you sure? 
    <input type="button" value="Ok" OnClick="redirectToFB()" /> 

</body> 
</html> 
+0

oui, mais quand j'ouvre le popup. la page est redirigée vers mypage.html. J'utilise le code ("window.opener.location.href =" http://wwww.facebook.com ";) sur cette page puis il dit .." Erreur: Impossible d'obtenir la valeur de la propriété 'emplacement': objet est null ou undefined " – JBJumboJB

+1

au lieu de' window.opener.location.href' vous avez besoin de 'window.opener.document.location.href' – cprogcr

+0

En fait window.focus est fonction, donc" if (window.focus) {} "sera toujours Sois sincère –

0

dans la page parent écrire le javascript comme ci-dessous

<script language="Javascript"> 
    function popitup(url) 
    { 
     newwindow = window.open(url, "popwin", "width = 320, height = 210, resizable = no"); 
     if (window.focus) { newwindow.focus() } 
     return false; 
     popwin.moveTo(0, 0); 
     } 
</script> 

<a href="" onclick="return popitup('myapppopup.aspx');return false;">`myapppopup</a>` 

puis dans les fenêtres pop-up ajouter un lien vers facebook comme ci-dessous

<a href="http://wwww.facebook.com" target="_blank" onclick="self.close();">facebook </a> 
Questions connexes