0

我想对 Activity Feed 插件的工作原理有一个基本的了解,所以我想我会在 html 页面上设置一个小示例,看看它是什么样子的。我正在使用 FBML 方法来创建控件。问题是提要没有呈现。正如我所说,我只是想测试一下事情是如何运作的,所以我使用http://www.facebook.com作为域。同样,这很简单,但我没有看到控件渲染。这是我的完整代码:

<!DOCTYPE html>
<html>
  <head>
    <title>Facebook API Testing</title>
    <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
  </head>

  <body>
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=myid";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

    <h1>Facebook API Testing</h1>
    <div>
    <fb:activity href="http://www.facebook.com" action="like" width="300" height="300" header="true" recommendations="true"></fb:activity>
    </div>
  </body>
</html>

我没有收到任何类型的错误。我只是什么都没看到。当我检查页面时,我看到 fb 活动提要标记在那里:

<fb:activity href="http://www.facebook.com" action="like" width="300" height="300" header="true" recommendations="true"></fb:activity>

解决了

好的,这显然已经解决了,如果您尝试从本地计算机上的独立 html 文件运行它,这将不起作用。当我将上述内容上传到网络服务器并查看页面时,事情正在呈现。

4

1 回答 1

1

好的,这显然已经解决了,如果您尝试从本地计算机上的独立 html 文件运行它,这将不起作用。当我将上述内容上传到网络服务器并查看页面时,事情正在呈现。

这是因为 JS SDK 的地址被指定为//connect.facebook.net- 允许浏览器在自动请求脚本时选择是使用 HTTP 还是 HTTPS。当然,这只有在页面本身可以通过这两种协议中的任何一种访问时才有效——而不是在通过 file:// 访问时。

你可以使用本地网络服务器来测试这样的东西——或者你可以http:自己把脚本地址放在前面。

于 2012-10-06T08:20:01.903 回答