Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Facebook API,仅在IE上使用Facebook登录_Php_Javascript_Facebook_Facebook Graph Api - Fatal编程技术网

Php Facebook API,仅在IE上使用Facebook登录

Php Facebook API,仅在IE上使用Facebook登录,php,javascript,facebook,facebook-graph-api,Php,Javascript,Facebook,Facebook Graph Api,我正在尝试使用OpenGraphAPI实现“使用Facebook登录”。到目前为止,这在FF、Chrome、Safari上有效,但在IE9上测试不起作用 在IE上,我可以登录Facebook对话框。我可以成功登录到Facebook,但什么也没发生。在其他浏览器上,页面重定向,fb用户数据存储到数据库中 我也在不同的场合尝试了两种FB医生类型,但都没有成功 xmlns:fb="http://ogp.me/ns/fb#" xmlns:fb="http://www.facebook.com/2008/

我正在尝试使用OpenGraphAPI实现“使用Facebook登录”。到目前为止,这在FF、Chrome、Safari上有效,但在IE9上测试不起作用

在IE上,我可以登录Facebook对话框。我可以成功登录到Facebook,但什么也没发生。在其他浏览器上,页面重定向,fb用户数据存储到数据库中

我也在不同的场合尝试了两种FB医生类型,但都没有成功

xmlns:fb="http://ogp.me/ns/fb#"
xmlns:fb="http://www.facebook.com/2008/fbml"
编辑:我删除了FB.api的内容,只是为了包含一个用于测试的警报框。什么都能做,但我还是

<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
    FB.init({
        appId   : '<?php echo $AppID; ?>',
        channelUrl : '//www.mysite.net/channel.php', // Channel File
        oauth   : true,
        status  : true, // check login status
        cookie  : true, // enable cookies to allow the server to access the session
        xfbml   : true // parse XFBML
    });

  };

function fb_login(){
    FB.login(function(response) {

        if (response.authResponse) {
            console.log('Welcome!  Fetching your information.... ');
            //console.log(response); // dump complete info
            access_token = response.authResponse.accessToken; //get access token
            user_id = response.authResponse.userID; //get FB UID

            FB.api('/me', function(response) {
  alert(response.id);
            });

        } else {
            //user hit cancel button
            console.log('User cancelled login or did not fully authorize.');
        }
    }, {
        scope: 'email,publish_actions'
    }
    );
}
  // Load the SDK Asynchronously
  (function(d){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     ref.parentNode.insertBefore(js, ref);
   }(document));
</script>

window.fbAsyninit=函数(){
FB.init({
appId:“”,
channelUrl:'//www.mysite.net/channel.php',//通道文件
真的,
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
};
函数fb_login(){
FB.登录(功能(响应){
if(response.authResponse){
log('欢迎!获取您的信息…);
//console.log(响应);//转储完整信息
access\u token=response.authResponse.accessToken;//获取访问令牌
user\u id=response.authResponse.userID;//获取FB UID
FB.api('/me',函数(响应){
警报(response.id);
});
}否则{
//用户点击取消按钮
log('用户取消登录或未完全授权');
}
}, {
范围:“电子邮件、发布和操作”
}
);
}
//异步加载SDK
(职能(d){
var js,id='facebook jssdk',ref=d.getElementsByTagName('script')[0];
if(d.getElementById(id)){return;}
js=d.createElement('script');js.id=id;js.async=true;
js.src=“//connect.facebook.net/en_US/all.js”;
ref.parentNode.insertBefore(js,ref);
}(文件);

尝试删除/注释您的console.log()区域的代码,我知道这很疯狂,但上次我在IE中尝试这些,他们抱怨无法在未定义的情况下调用log。。。我希望我能赶上时代


如果有的话,试一试,绝对值得尝试一个潜在的简单修复。请相信我,我知道这听起来很傻,但在过去,它一直是我IE bug的来源

重要提示:请指定您测试的IE版本。感谢提醒。。。使用IE9.:)我告诉你,IE应该不再存在,因为它远远落后于这样的趋势。我真的很高兴听到它为你工作:D只是一个额外的不幸的注意事项,永远不要在这些日志实现的情况下投入生产,否则IE将吃掉你的网站bwainz@BryanMoyles,虽然IE可能不是最好的浏览器,但没有理由调用
console.log,因为没有定义
console
控制台
是浏览器在IE中提供的功能,它仅在开发人员工具打开时定义。