FB.ui apprequests对话框 - 弹出窗口变为空白,不会发送邀请

Jay*_*Jay 5 facebook facebook-javascript-sdk facebook-apps fb.ui apprequests

初始化代码:

window.fbAsyncInit = function() {
    var bheight = $(document).height() + 50;
    FB.init({
        appId: appid,
        frictionlessRequests : true,
        status: true,
        cookie: true,
        xfbml: true,
        oauth: true});
    FB.Canvas.setSize({ width:760,height:bheight });
};

// 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));
Run Code Online (Sandbox Code Playgroud)

使用onclick调用以下代码:

function sendRequestViaMultiFriendSelector(msg){
    FB.ui({      
        method: 'apprequests',
        message: msg
    });
}
Run Code Online (Sandbox Code Playgroud)

弹出窗口显示,用户可以选择一些朋友,但在提交或取消后,窗口变为空白.弹出窗口仍然存在但是空白.Firebug中没有记录错误.

如果我添加一个回调函数,它永远不会到达.

我已经尝试添加一个自我关闭redirect_uri(redirect_uri:' http://.../self_close.html '),但在提交弹出重定向到self_close.html后,甚至当该html的内容只是 <script type="text/javascript">window.close(); </script>弹出窗口赢了'关闭也不会将请求发送给选定的朋友.

奇怪的是,几周前这个工作正常,你可以选择一些朋友并发送邀请函,然后弹出窗口就会关闭.

我的应用程序在localhost中运行,处于沙盒模式,我尝试邀请其他应用程序的管理员,测试用户,普通用户等.过去它曾经工作过.

现在可能发生什么?

我检查的类似问题:

提前致谢!

UPDATE

我添加了一个使用方法的测试方法:feed而不是方法:apprequests

function feed_test() {
    // calling the API ...
    var obj = {
      method: 'feed',
      name: 'Feed test',
      caption: 'Test',
      description: 'Test'
    };

    function callback(response) {
      document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
    }

    FB.ui(obj, callback);
  }
Run Code Online (Sandbox Code Playgroud)

当我通过onclick调用此方法时会显示弹出窗口,我输入我的评论,提交它,弹出窗口也变为空白.弹出窗口没有关闭,但帖子发布在我的墙上.

更新2

我已经意识到如果我在浏览器中打开应用程序,在Facebook外面(使用http://facebookapp.localhost/),apprequest工作正常,它会打开没有禁用地址栏的弹出窗口.当我尝试邀请FB内的朋友时,弹出窗口会显示一个包含以下内容的灰色地址栏:

https://www.facebook.com/dialog/apprequests?api_key=XXXXXXXXXX&app_id=XXXXXXXXXX&display=popup&frictionless=true&locale=en_US&message=XXXX&next=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter.php%3Fversion%3D5%23cb%3Df2b013bbfaa712%26origin%3Dhttp%253A%252F%252Ffacebookapp.localhost%252Ff3267a4c771122%26domain%3Dfacebookapp.localhost%26relation%3Dopener%26frame%3Df3ad1f46b651196%26result%3D%2522xxRESULTTOKENxx%2522&sdk=joey
Run Code Online (Sandbox Code Playgroud)

我想知道在FB内部和外部使用应用程序有什么不同,可能有一些js问题.

固定

今天我再次尝试,问题就消失了.即使弹出窗口未关闭且未调用回调函数,也会发送邀请.我的测试用户忘记检查它们正在获取它们......无论如何,神秘的bug,神秘的修复.