【问题标题】:How can I redirect after Facebook.streamPublish() has completed?Facebook.streamPublish() 完成后如何重定向?
【发布时间】:2010-01-07 14:08:32
【问题描述】:

我有一个应用程序,它会使用 Facebook.streamPublish() 方法在朋友墙上发布消息,这非常有效。但是,我还希望能够在我的数据库中保存有关此帖子的详细信息。

所有需要存储的信息都放在隐藏的表单字段中,并且在发送消息后全部到位,所以我认为我需要做的就是重定向到一个将获取这些信息的 php 文件,将其保存到数据库中,然后重定向回主页。

streamPublish 调用是:

Facebook.streamPublish(\'\', attachment, null, params.ids[curFriend]);

我可以跟随 form.submit() 这将导致重定向发生,但是这个 submit() 函数会立即被调用,并且不会等待 streamPublish() 弹出窗口加载、使用和要完成的动作。在用户点击弹出窗口中的“发布”按钮之前,如何让我的 form.submit() 不被调用?

【问题讨论】:

    标签: php javascript facebook


    【解决方案1】:

    StreamPublish 还接受一个可选的回调函数 - http://developers.facebook.com/docs/?u=facebook.jslib.FB.Connect.streamPublish 。尝试将您的 submit() 函数设置为回调,一旦用户取消对话框或发布它,它就会被调用

    【讨论】:

      【解决方案2】:

      我没有使用 streampublish() 函数或 FB API,但我可以保证这是因为 streampublish 是由 ajax 调用处理的,因此与正常的 JS 代码年表分开处理。因此,当 ajax 达到特定状态时应该执行的任何代码都需要添加到 ajax 状态处理程序中,FB API 可能会或可能不会让您访问。

      【讨论】:

      • 是的,你是对的。 streamPublish() 加载一个 ajax 弹出框的东西,所以下面的 submit() 被直接调用,而弹出窗口单独做它的事情。我在想我可以让 JS 等待 streamPublish() 完成,方法是让它检查 streamPublish() 完成时发生的变化......但我真的不知道发生了什么,所以我可以't。
      猜你喜欢
      • 1970-01-01
      • 2012-07-28
      • 1970-01-01
      • 2017-07-25
      • 1970-01-01
      • 2012-07-07
      • 1970-01-01
      • 2020-04-08
      • 2012-03-11
      相关资源
      最近更新 更多