我使用facebook API开发了facebook应用程序,我在页面顶部包含了facebook api,并且正在加载所有页面,因为我在所有页面中都使用了api,我不知道这是不是我的申请需要时间来解决的问题,
任何人都可以建议我如何解决这个问题。 提前致谢
答案 0 :(得分:4)
由于你的标签是Javascript,我假设你正在使用围绕Graph API的Javascript SDK。请参阅:http://developers.facebook.com/docs/reference/javascript/,因为这谈到如何没有正确指定通道url html文件将使JS SDK运行非常缓慢。
这是它的重要部分:
频道文件
频道文件解决了跨域通信的一些问题 在某些浏览器中。 channel.html文件的内容可以是 一行:
<script src="//connect.facebook.net/en_US/all.js"></script>
通道文件的缓存非常重要 可能。提供此文件时,您必须发送有效的Expires标头 期限很长。这将确保通道文件 浏览器缓存,这对于流畅的用户体验非常重要。 如果没有适当的缓存,跨域通信将变得非常 缓慢,用户将遭受严重退化的经历。一个简单的 在PHP中执行此操作的方法是:
<?php $cache_expire = 60*60*24*365; header("Pragma: public"); header("Cache-Control: max-age=".$cache_expire); header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$cache_expire) . ' GMT'); ?> <script src="//connect.facebook.net/en_US/all.js"></script>
channelUrl参数是可选的,但建议使用。提供一个 通道文件可以帮助解决三个特定的已知问题。第一, 包含跨帧通信的代码的页面可能会导致社交 没有channelUrl的插件显示为空白。第二,如果没有 提供channelUrl,页面包括自动播放音频或 视频,用户可能会听到两个音频流,因为页面有 已在背景中第二次加载跨域 通讯。第三,通道文件将阻止包含额外的 点击服务器端日志。如果你没有指定channelUrl,那么你 可以删除包含fb_xd_bust或fb_xd_fragment的页面视图 日志中的参数以确保正确计数。
channelUrl必须是与页面匹配的完全限定URL 你包括SDK。换句话说,通道文件域 如果您的网站使用www提供,并且如果您修改,则必须包含www 您的网页上的document.domain必须创建相同的document.domain 也改变了channel.html文件。协议也必须 比赛。如果您的网页是通过https投放的,那么您的channelUrl也必须是 HTTPS。请记住使用脚本src的匹配协议 好。上面的示例代码使用协议相对URL 正确处理大多数https案例。