javascript - FOSFFacebook Bundle 2.0 的 JS 错误

标签 javascript facebook symfony fosuserbundle fosfacebookbundle

我尝试安装 FOSFFacebook,我已按照所有步骤操作,但我在 js 控制台中收到此错误:

未捕获的 ReferenceError:onFbInit 未定义

我在我的 base.html.twig 中包含了这个 lignes:

    <!-- FaceBook Init -->
    {{ facebook_initialize({'xfbml': true, 'fbAsyncInit': 'onFbInit();'}) }}
    {{ facebook_login_button({'autologoutlink': true}) }}

    <script>
    $(document).ready(function() {
        function goLogIn(){
          window.location = "{{ path('_security_check') }}";
        }

        function onFbInit() {
          if (typeof(FB) != 'undefined' && FB != null ) {
              FB.Event.subscribe('auth.statusChange', function(response) {
                  if (response.session || response.authResponse) {
                      setTimeout(goLogIn, 500);
                  } else {
                      window.location = "{{ path('_security_logout') }}";
                  }
              });
          }
        }
    });
    </script>

有人可以帮助我吗?谢谢

最佳答案

不要在 $(document).ready(function() 调用中定义这些函数。使用:

<script>
    function goLogIn(){
      window.location = "{{ path('_security_check') }}";
    }

    function onFbInit() {
      if (typeof(FB) != 'undefined' && FB != null ) {
          FB.Event.subscribe('auth.statusChange', function(response) {
              if (response.session || response.authResponse) {
                  setTimeout(goLogIn, 500);
              } else {
                  window.location = "{{ path('_security_logout') }}";
              }
          });
      }
    }
</script>

关于javascript - FOSFFacebook Bundle 2.0 的 JS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12509294/

相关文章:

javascript - AngularJS如何在另一个 Controller 中使用一个 Controller 的功能

facebook - FB Like 电子邮件中的按钮?

ios - Facebook SDK 原生登录报错

arrays - 反射异常 : Class ArrayCollection does not exist

javascript - 解释这个 JsPerf.com 结果

javascript - 水平放置的提交按钮和错误消息的正确对齐

javascript - 以特定顺序运行具有效果的 jQuery 函数

javascript - hello.js,获取访问 token (或任何东西)

Symfony2 和 Doctrine2 : Create custom annotations

symfony - 如何在 symfony 中使用 api-platform 来编辑发布数据?