Jquery Facebook API Feed 突然停止工作 - 2015 年 4 月 8 日

Jquery Facebook API Feed suddenly stopped working - April 8th 2015

我最近的任务是在我们公司网站的主页上实现一个 jquery Facebook 墙(从我公司的 public fb 页面中提取)。

经过反复试验,我使用这个插件成功地使它工作得非常令人满意:https://github.com/thomasclausen/jquery-facebook-wall

它工作了几个星期,直到昨天突然停止工作(一天中途)。 None 我的站点文件是在那段时间编辑的。

上面的演示 GitHub link 也被破坏并显示出与我的网站相同的症状(即应该加载内容的无序列表仍然是空的)。

Chrome 开发工具未显示任何错误,并且从开发工具的网络选项卡中显示 API 正在提供响应,只是不是 displayed/parsed?

我对 Jquery 和 Facebook API 仍然很陌生,所以我可能忽略了一些简单的事情,但本质上我想知道是否有明显的原因会停止此脚本昨天(2015 年 4 月 8 日)工作?

我在网上搜索了 Facebook 可能已删除的 API 的任何更改或功能,但找不到任何看起来相关的内容。

如有任何帮助,我们将不胜感激。

facebook_wall.plugin.js 的第 56 行将 if (this.is_hidden === undefined) 更改为 if (this.is_hidden === false)

查看创建者演示的修改后的工作副本http://dodsoftware.com/sotests/facebook-wall/index.html


为了找到这个错误,我采取了以下步骤:

  • 导航到您链接到的 github 页面,随后 post 在那里演示
  • 观察到,如您所说,它也不起作用
  • 在chrome
  • 中打开了开发者工具
  • 如您所说,已验证 FB API 正在响应 post 信息
  • 在源选项卡上,我转到了 facebook_wall.plugin.js 文件

以下是带有下面所附图片的编号步骤

  1. 找到ajax调用码
  2. 找到应该输出一些数据的第一行
  3. 在该行设置断点并刷新页面,注意从未命中断点,这意味着代码未被调用
  4. 然后我找到这段代码上面的if语句并在那里设置断点并再次刷新页面
  5. 当页面刷新时,代码暂停在断点上,我将鼠标悬停在 this 变量上,这会弹出一个显示变量值的窗口
  6. 我在列表中查找 is_hidden,发现它设置为 false 而不是 undefined

为了检验我的理论,我下载了演示网站的副本并修改了 if 语句以检查错误并确认这解决了问题。