我有以下代码在名为notify.html的文件中显示FB Like box。
<div id="fb-root" class="fb_like"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<fb:like-box href="http://www.facebook.com/platform" width="270" height="250" show_faces="true" border_color="black" stream="true" header="true">
</fb:like-box>
此文件包含在我的所有其他页面中,以便notify.html中的所有内容都显示在所有页面的侧边栏中。
但是,FB like框只显示在一个页面上,而这恰好是我也有FB注册表单的页面。
为什么它不显示在其他页面中?
在同一个框上显示的一页上的FB注册码是
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId:'0000000000000', cookie:true,
status:true, xfbml:true
});
</script>
<fb:registration
fields="[{'name':'name'},{'name':'emailEdu','description':'Your .edu Email','type':'text'},{'name':'captcha'}]"
redirect-uri="http://myurlhere.com">
</fb:registration>
答案 0 :(得分:1)
看起来你并没有完全复制FB代码。从您引用的页面上的代码生成器,您应该包括以下内容:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<fb:like-box href="http://www.facebook.com/platform" width="292"
show_faces="true" border_color="" stream="true" header="true"></fb:like-box>
- 但你的脚本标签缺少#xfbml内容
使用firebug或类似内容来查看是否有任何JS错误。还要检查你是不是双重加载FB库
已添加我认为问题是您的xffbml标记未在其他网页上解析。希望修复脚本包含标签将修复它...
答案 1 :(得分:1)
在每个要使用api的页面上都需要一次FB.init方法。如果您只有第一个示例中的代码而没有其他内容,则它无法正常工作,因为您尚未初始化FB对象。在注册码上你有FB init,这就是它突然开始工作的原因。