两天,all.js(Facebook SDK)随机不加载

时间:2011-12-13 14:45:01

标签: javascript facebook sdk

我们从昨天开始经历“FB未定义”错误,因为Facebook没有提供all.js,这是核心Javascript SDK文件。

查看Firebug或Chrome开发人员工具中的NET选项卡,我可以看到get on all.js失败。

刷新几页后,它正常工作,10分钟后再次没有提供文件。

这是Facebook问题吗?显然我们没有其他网络错误,我们不在代理之后。还有其他人经历过吗? Facebook状态页面没有报告任何问题,我在Google上找不到最近的任何内容。

是“正常”吗?像Facebook限制获取基于一些“上限”或类似的东西?

3 个答案:

答案 0 :(得分:5)

之前我遇到过同样的问题。这是我永远无法确定的东西,但它被认为是Facebook的一个问题。我的解决方案是获取all.js的副本并在本地提供服务。

答案 1 :(得分:2)

您的描述听起来像是网络问题,但是如果您异步加载SDK并尝试在完全加载之前使用FB对象,则会导致此错误,并且还可能会停止尝试加载all.js Javascript错误。

要解决此问题,请将此对FB对象的所有引用放在此页面上显示的window.fbAsyncInit函数内:https://developers.facebook.com/docs/reference/javascript/

这可能不是你的问题,但当我看到错误时,这几乎总是解决方案。

答案 2 :(得分:-1)

您必须在页面底部添加Facebook SDK all.js。 在Facebook SDK之前,您必须添加<div id="fb-root"></div>

此加载后,您可以调用函数FB。

Facebook SDK的调用必须使用document.protocol HTTPS或HTTP。

祝你好运!