Ver Mensaje Individual
  #6 (permalink)  
Antiguo 26/05/2011, 10:10
Avatar de MOiSTER
MOiSTER
 
Fecha de Ingreso: noviembre-2007
Ubicación: Guadalajara, Jal. Mx.
Mensajes: 19
Antigüedad: 16 años, 6 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?