javascript – FaceBook登录按钮错误:在调用FB.init()之前调用FB.login()

执行此代码后,我收到此错误:

<div id="fb-root"></div>
 <script src="http://connect.facebook.net/en_US/all.js"></script>
 <script>
   FB.init({
     appId  : 'realIdInTheCode',status : true,// check login status
     cookie : true,// enable cookies to allow the server to access the session
     xfbml  : true  // parse XFBML
   });
 </script>

<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=realIdInTheCode&amp;xfbml=1">
</script><fb:login-button show-faces="false" width="200" max-rows="1"></fb:login-button>

我的想法是在登录前调用init()()

但我仍然得到错误:错误:在调用FB.init()之前调用FB.login().

我现在处于完全混乱状态,所以我真的很感激帮助:)

解决方法

我曾经认为FBML已被弃用.我刚刚测试过,这对我有用

<html>
    <head>
    </head>
    <body>
        <div id="fb-root"></div>
        <script>
          //initializing API
          window.fbAsyncInit = function() {
            FB.init({appId: 'MYAPPID',status: true,cookie: true,xfbml: true});
          };
          (function() {
            var e = document.createElement('script'); e.async = true;
            e.src = document.location.protocol +
              '//connect.facebook.net/en_US/all.js';
            document.getElementById('fb-root').appendChild(e);
          }());
        </script>

        <button type="button" onclick="fblogin();">Facebook Login</button>


        <script>
          //your fb login function
          function fblogin() {
            FB.login(function(response) {
                //User logged in!
                if (response.session) {
                    alert('YAY!');
                } else {
                // user cancelled login
                    alert('NAY!');
                }

            },{perms:'email,read_stream,publish_stream'});
          }
        </script>

    </body>
</html>

要么

<html>
        <head>
        </head>
        <body>
            <script src="http://connect.facebook.net/en_US/all.js"></script>
            <script>
              FB.init({
                appId  : 'MYAPPID',// check login status
                cookie : true,// enable cookies to allow the server to access the session
                xfbml  : true  // parse XFBML
              });

            </script>
        <button type="button" onclick="fblogin();">Facebook Login</button>
        <script>
          //your fb login function
          function fblogin() {
              FB.login(function(response) {
                  //User logged in!
                  if (response.session) {
                      alert('YAY!');
                  } else {
                  // user cancelled login
                      alert('NAY!');
                  }

              },publish_stream'});
            }
        </script>

    </body>
</html>

参考:

> http://developers.facebook.com/docs/reference/javascript/fb.login/
> http://developers.facebook.com/docs/reference/javascript/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)