2

当为广告创建评论时,我正在尝试创建一个小型通知程序。它在桌面版本上完美运行,但在移动版本上FB.Event.subscribe没有被解雇。

我有这个代码:

    <script>

         window.fbAsyncInit = function() {

        // init the FB JS SDK
        FB.init({
          appId      : 'XXXX'
          channelUrl : 'http://www.xxx.dk/channel.php',
          status     : true,
          xfbml      : true
        });


        FB.Event.subscribe('comment.create',
           function (response) {
              $.ajax({
                  url: 'http://www.xxx.dk/notify.php',
                  type: 'POST',
                  data: { aid: {$viewad.aid} },
                  success: function(data) { },
                  error: function(data) { }
                });
            });
      };  

      (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>

fbAsyncInit 和 FB.init 都被正确触发了!如果我输入 alert("fired") 我会得到那个警报,但不是在 FB.Event.subscribe

channel.php 包含以下内容:

<?php
$cache_expire = 60*60*24*365;
header("Pragma: public");
header("Cache-Control: max-age=".$cache_expire);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$cache_expire) . ' GMT');
?>
<script src="//connect.facebook.net/en_US/all.js"></script>
4

1 回答 1

2

这是插件中的一个错误

https://developers.facebook.com/bugs/604681079553717

该死的.. FB修复速度很慢!

于 2013-10-01T13:47:08.267 回答