Foros del Web » Programando para Internet » Javascript »

Problema con Facebook Connect en IE

Estas en el tema de Problema con Facebook Connect en IE en el foro de Javascript en Foros del Web. Hola a todos, estoy intentando enlazar una pagina con facebook, para que los usuarios se puedan registrar o inicien sesión usando su cuenta de Facebook. ...
  #1 (permalink)  
Antiguo 23/05/2011, 17:41
Avatar de MOiSTER  
Fecha de Ingreso: noviembre-2007
Ubicación: Guadalajara, Jal. Mx.
Mensajes: 19
Antigüedad: 16 años, 5 meses
Puntos: 3
Problema con Facebook Connect en IE

Hola a todos, estoy intentando enlazar una pagina con facebook, para que los usuarios se puedan registrar o inicien sesión usando su cuenta de Facebook.

Todo funciona bien en Firefox, pero en Internet Explorer no muestra los botones de Facebook, despues me di cuenta que al parecer es un problema con el Javascript SDK de Facebook, ya que IE me muestra el siguiente mensaje de error:

Message: Unknown runtime error
Line: 41
Char: 729
Code: 0
URI: http://connect.facebook.net/en_US/all.js

la página es la siguiente:
http://www.inmortalitybook.com/registrar2.php

si alguien pudiera orientarme, le agradecería cualquier comentario que me ayude a solucionar este problema.

de antemano gracias.
  #2 (permalink)  
Antiguo 23/05/2011, 17:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con Facebook Connect en IE

Pues por lo que dices es un error de Javascript, ¿porque preguntar en el foro de PHP?

Ahora, no quiero ni imaginar que versión de IE estas usando...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/05/2011, 17:55
Avatar de MOiSTER  
Fecha de Ingreso: noviembre-2007
Ubicación: Guadalajara, Jal. Mx.
Mensajes: 19
Antigüedad: 16 años, 5 meses
Puntos: 3
Respuesta: Problema con Facebook Connect en IE

mm creo que por que estoy usando el Facebook PHP SDK, como base crear la conexión entre mi sitio y el Facebook.
  #4 (permalink)  
Antiguo 23/05/2011, 18:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con Facebook Connect en IE

A ver, ¿si te fijas lo que escribes?

Cita:
Iniciado por MOiSTER Ver Mensaje
[...] es un problema con el Javascript SDK de Facebook, ya que IE me muestra el siguiente mensaje [...]
¿Entonces?

Cita:
Iniciado por MOiSTER Ver Mensaje
mm creo que por que estoy usando el Facebook PHP SDK, como base crear la conexión entre mi sitio y el Facebook.
¿El error que recibes, lo recibes en PHP o en el navegador?

Dependiendo de tu respuesta debes tomar una decisión.

¿El problema es de PHP o Javascript?



PDTA: recuerda que PHP se ejecuta en el servidor, no en el navegador, por lo tanto no debería afectar en nada.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 23/05/2011, 22:11
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Problema con Facebook Connect en IE

Yo uso esto y no tengo problemas en explorer:
Código PHP:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/es_ES/all.js"></script>
<script type="text/javascript">

    FB.init({appId: '<?php echo APP_ID ?>', status: true, cookie: true, xfbml: true,channelUrl: '<?php echo BASE_URL ?>/channel.html'});
</script>
En channel.html, esto:
Código PHP:
<script src="http://connect.facebook.net/en_US/all.js"></script> 
Y si se te complica, directamente hacelo en php, redirigiendo los botones de login a un archivo receiver1.php que tenga algo así:
Código PHP:
<?php
session_start
();
error_reporting(0);
@
set_time_limit(0);
define('SECRET','xxxxxxxxxxxxxxxxxx');
define('API_KEY','xxxxxxxxxxxxxxxxx');
define('APP_ID','xxxxxxxxxxxxxxxxxx');
define ('BASE_URL','http://xxxxxxxxxxxx.com');
$code = isset($_REQUEST["code"])?$_REQUEST["code"]:0;
$my_url=BASE_URL.'/receiver1.php';
if(empty(
$code)) {
   
$dialog_url "http://www.facebook.com/dialog/oauth?client_id=" 
     
APP_ID "&redirect_uri=" urlencode($my_url
     . 
"&scope=user_photos%2Cemail%2Cread_stream%2Cpublish_stream%2Coffline_access";
    echo(
"<script>top.location.href='" $dialog_url "'</script>");
    exit;
}
$token_url "https://graph.facebook.com/oauth/access_token?client_id="
    
APP_ID "&redirect_uri=" urlencode($my_url
    . 
"&client_secret=" SECRET 
    
"&code=" $code;
$access_token file_get_contents($token_url);
$_SESSION['at']=$access_token;
$data=file_get_contents('https://graph.facebook.com/me?'.$access_token);
$info=json_decode($data);
            
$_SESSION['uid']=$info->id;
            
$_SESSION['nombrebk']=$info->first_name.' '.$info->last_name;
            
$_SESSION['login']='loquesea';
            
$_SESSION['origen']='FB';
            
$_SESSION['email']=$info->email;
            
$_SESSION['pic']='https://graph.facebook.com/'.$info->id.'/picture';
            
$amigos=file_get_contents('https://graph.facebook.com/me/friends?'.$access_token);
            
$_SESSION['amigos']=json_decode($amigos);
            
$_SESSION['sexo']=(strtolower($info->gender)=='male')?'M':'F';
            if(!isset(
$info->id) || empty($info->id)){
                 echo(
"<script>top.location.href='" $dialog_url "'</script>");
                 exit;
            }
            
header("Location:b.php");//aquí redirigís adonde te convenga
        
?>
  #6 (permalink)  
Antiguo 26/05/2011, 10:10
Avatar de MOiSTER  
Fecha de Ingreso: noviembre-2007
Ubicación: Guadalajara, Jal. Mx.
Mensajes: 19
Antigüedad: 16 años, 5 meses
Puntos: 3
Respuesta: Problema con Facebook Connect en IE

Cita:
Iniciado por Panino5001 Ver Mensaje
Yo uso esto y no tengo problemas en explorer:
Código PHP:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/es_ES/all.js"></script>
<script type="text/javascript">

    FB.init({appId: '<?php echo APP_ID ?>', status: true, cookie: true, xfbml: true,channelUrl: '<?php echo BASE_URL ?>/channel.html'});
</script>
En channel.html, esto:
Código PHP:
<script src="http://connect.facebook.net/en_US/all.js"></script> 
Y si se te complica, directamente hacelo en php, redirigiendo los botones de login a un archivo receiver1.php que tenga algo así:
Código PHP:
<?php
session_start
();
error_reporting(0);
@
set_time_limit(0);
define('SECRET','xxxxxxxxxxxxxxxxxx');
define('API_KEY','xxxxxxxxxxxxxxxxx');
define('APP_ID','xxxxxxxxxxxxxxxxxx');
define ('BASE_URL','http://xxxxxxxxxxxx.com');
$code = isset($_REQUEST["code"])?$_REQUEST["code"]:0;
$my_url=BASE_URL.'/receiver1.php';
if(empty(
$code)) {
   
$dialog_url "http://www.facebook.com/dialog/oauth?client_id=" 
     
APP_ID "&redirect_uri=" urlencode($my_url
     . 
"&scope=user_photos%2Cemail%2Cread_stream%2Cpublish_stream%2Coffline_access";
    echo(
"<script>top.location.href='" $dialog_url "'</script>");
    exit;
}
$token_url "https://graph.facebook.com/oauth/access_token?client_id="
    
APP_ID "&redirect_uri=" urlencode($my_url
    . 
"&client_secret=" SECRET 
    
"&code=" $code;
$access_token file_get_contents($token_url);
$_SESSION['at']=$access_token;
$data=file_get_contents('https://graph.facebook.com/me?'.$access_token);
$info=json_decode($data);
            
$_SESSION['uid']=$info->id;
            
$_SESSION['nombrebk']=$info->first_name.' '.$info->last_name;
            
$_SESSION['login']='loquesea';
            
$_SESSION['origen']='FB';
            
$_SESSION['email']=$info->email;
            
$_SESSION['pic']='https://graph.facebook.com/'.$info->id.'/picture';
            
$amigos=file_get_contents('https://graph.facebook.com/me/friends?'.$access_token);
            
$_SESSION['amigos']=json_decode($amigos);
            
$_SESSION['sexo']=(strtolower($info->gender)=='male')?'M':'F';
            if(!isset(
$info->id) || empty($info->id)){
                 echo(
"<script>top.location.href='" $dialog_url "'</script>");
                 exit;
            }
            
header("Location:b.php");//aquí redirigís adonde te convenga
        
?>
Panino5001, Gracias por tu respuesta, mi problema es que en IE no se muestran los botones de facebook, creo que es por que estos se ponen en un iFrame que el Javascript SDK pone en el HTML y al querer hacer esto es cuando me marca ese error de javascrtip.

Lo que intento es averiguar por que me marcar ese error de javascript, en Firefox todo funciona bien, se conecta a facebook y lo redirijo a la pagina que yo quiera.

El codigo PHP que me envías, supongo que me estas sugiriendo que yo ponga los botones, en vez de dejarle esta acción al javascript sdk y que lo redireccione a este script?
  #7 (permalink)  
Antiguo 26/05/2011, 10:18
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Problema con Facebook Connect en IE

Exacto, era eso lo que sugería para php.

Última edición por Panino5001; 26/05/2011 a las 10:40

Etiquetas: facebook, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:55.