活动源插件无法呈现

时间:2012-10-02 13:48:19

标签: html facebook-javascript-sdk fbml

我想基本了解一下Activity Feed插件是如何工作的,所以我想我会在html页面上设置一个小例子,看它是什么样的。我正在使用创建的FBML方法控制。问题是Feed没有渲染。正如我所说,我只是想测试一下如何工作,所以我使用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文件运行它,这显然不起作用。当我将上述内容上传到网络服务器并查看页面时,内容正在呈现。

1 个答案:

答案 0 :(得分:1)

  

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

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

您可以使用本地Web服务器来测试这样的事情 - 或者您可以自己将http:放在脚本地址前面。