Facebook Stream发布问题:模态卡住了“加载......”

时间:2010-08-21 01:44:37

标签: javascript facebook

我一直在遇到facebook流发布的间歇性问题。调用流发布时,模态占位符会弹出“正在加载...”,但通常不会加载。由于问题来来去去,我一直认为facebook本身就是问题所在。如果传入无效参数并且我没有看到任何失败的请求或javascript错误,则没有预期的模态错误消息。关于造成这种情况的原因,我真的没有任何线索,我们只知道这会导致很多百分比的遗失。

我的同事建议chrome比其他浏览器更失败,但我在每个浏览器环境中都看到过这种情况。

有问题的代码在FBML画布上的iframe中,我正在使用当前和最新的JS SDK。以下JS库正在使用中:

  • Google分析
  • Facebook SDK
  • swfobject的
  • Jquery 1.4.2
  • Jquery转储插件
  • facebox
  • BA-调试

    这是我发布应用程序生成的所有流的包装器:

    function streamPublish(name, caption, description, icon, href, actiontext, message, recipient, properties) {
          var attachment =  {
            'media':[{'type':'image','src':icon,'href': href}],
            'name': name,
            'caption': caption,     
            'description': description,
            'href': href
          };
          if (properties !== undefined && properties !== ''){
            attachment.properties = properties;
          }
          if (recipient === undefined || recipient === ''){
            recipient = getUserId();
          }
          FB.ui({
            method: 'stream.publish',
            'message': message,
            attachment: attachment,
            action_links: [{'text':actiontext, 'href':href}],
            target_id:recipient 
          },
          function(response) {
            if (response && response.post_id) {
              publishSuccess(response);
            } else {
              publishFail();
            }
          });
        }
    

    这一直在伤害应用程序一段时间,任何帮助线索都会非常感激。

  • 2 个答案:

    答案 0 :(得分:1)

    答案 1 :(得分:0)

    我怀疑问题可能出在客户端和服务器之间的身份验证期间,因为除了第一个之外,每个其他的stream.publish调用都有效。

    尝试在FB.init中将'cookie'设置为false ...我推断可能会强制init实际联系服务器

    FB.init({
    
    ...
    
    cookie:  false,
    
    ...
    
    });
    

    尚未对其进行彻底测试,但似乎它可能正常工作。

    更新:不幸的是,它似乎无法解决所有情况