我在Facebook上有一个Canvas应用程序,它只显示我们外部网站上托管的页面。工作得很好。
我在Firefox中注意到Firebug中报告了持续加载和错误:
获取http://0-68.channel.facebook.com/pull?channel=p_...1&partition=1&clientid=3744ab1f&cb=b3di&idle=287
200 Aborted
39.86s
这种加载尝试总是需要大约40秒,并在失败后立即重试。我也试过自己加载上面的URL,但这只是“连接重置”消息超时。
这与SDK设置中的channelUrl指令有关吗?我有如下设置:
var channel_url = "http://mysite.com/facebook/channel/"; // Aside from the domain, this is the actual final url.
var app_id = "blahblahblah";
// Initialize the facebook object
FB.init({
appId: app_id, // From the globals set up at the top of this page
channelUrl : channel_url,
cookie: true,
xfbml: true,
oauth: true
});
频道文件中只包含此内容:
<script src="//connect.facebook.net/en_US/all.js"></script>
但我也试过异步加载js。
如果我在浏览器中加载http://mysite.com/facebook/channel/,一切都很好。
有什么想法吗?
答案 0 :(得分:1)
Facebook的JS SDK会对事件更新进行长时间轮询。如果没有可用的更新,则连接最终会超时,您将在Firebug中看到Aborted。
答案 1 :(得分:-1)
*从其他位置复制并粘贴
这些请求是HTTP长轮询请求。我只有Facebook网站开放几分钟,我不是真的监控活动,但它看起来像: