2011-02-19 27 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','');");

Utilizo este código para el diálogo de permiso emergente. Cuando el usuario hace clic en permitir Facebook, redirige al usuario a mi aplicación en la ventana emergente. Necesito enviar el código de la ventana emergente a la ventana primaria y luego cerrar la ventana emergente cuando el usuario haga clic en permitir.Cómo cerrar la ventana emergente y redireccionar la ventana principal

Respuesta

15

Dime si esto es lo que busca ... ventana primaria:

<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> 

Ventana Niño (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

Sí, pero cuando abro la ventana emergente. la página se redirige a mypage.html. Uso el código ("window.opener.location.href =" http://wwww.facebook.com ";) en esta página y luego dice ..." Error: no se puede obtener el valor de la propiedad 'ubicación': el objeto es nulo o indefinido " – JBJumboJB

+1

en lugar de' window.opener.location.href' necesita 'window.opener.document.location.href' – cprogcr

+0

En realidad window.focus es función, por lo que" if (window.focus) {} "siempre lo hará ser cierto –

0

en la página principal escribir el código JavaScript como a continuación

<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>` 

luego en las ventanas emergentes agregue un enlace a facebook como abajo

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