为什么我的 Facebook Like 按钮(技术上是生成的 iframe)的高度总是设置为 80px?示例页面在这里:http ://www.davidkasper.net/test.html我正在使用 javascript sdk 并让它在其他页面上工作,但由于某种原因,高度不会在这个页面上动态变化!我什至可以做类似
的事情<fb:like style="height:40px">
,这确实会设置可见高度,但 iframe 仍然是 80px,而我可以在http://developers.facebook.com/docs/reference/plugins/like的演示中看到它的变化
6 回答
正在生成的 iframe 允许显示 facebook 个人资料图片的空间。添加 show-faces="false" 属性,它将折叠高度。
<fb:like show-faces="false"></fb:like>
我终于找到了这个问题的答案!!
问题是为我在 FB.init javascript 中指定的应用程序设置了错误的基域。
window.fbAsyncInit = function() {
FB.init({appId: '**131226520233112**', status: true, cookie: true,
xfbml: true});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
查看http://davidkasper.net/test.html与http://davidkasper.net/test2.html之间的区别
顺便说一句,如果没有来自 Facebook http://developers.facebook.com/tools/lint/的 URL Linter,我永远不会发现这一点。清除它检测到的所有错误解决了问题!
我用css解决了这个问题
#fb-bar iframe{min-height:80px !important;}
其中#fb-bar 是 < fb:like > 的包装器。在 html 中
<div id="fb-bar">
<fb:like href="link"></fb:like>
</div>
大卫,
我也有同样的问题。我只是将 fb:like 标签放在 ID 为“facebook-like”的 DIV 中。然后我设置了一个 CSS 规则来限制存在于“facebook-like”DIV 中的任何 iframe 的高度和/或宽度。为我工作!
从它说的参考
最重要的社交插件是 Like 按钮,它使用户能够一键将您网站中的页面发布回他们的 Facebook 个人资料。您可以向任何带有 iframe 标签的页面添加 Like 按钮:
<iframe src="http://www.facebook.com/widgets/like.php?href=http://example.com"
scrolling="no" frameborder="0"
style="border:none; width:450px; height:80px"></iframe>
Like 按钮有许多选项,包括包含也喜欢该页面的用户朋友的姓名和个人资料图片的选项。这是 Facebook 开发者网站的点赞按钮...
对我来说,这表明您应该只使用 iframe 并在样式标签中设置宽度/高度属性...
<iframe src="http://www.facebook.com/widgets/like.php?href=http://example.com"
scrolling="no" frameborder="0"
style="border:none; width:300px; height:25px"></iframe>
转到http://developers.facebook.com/docs/reference/plugins/like
取消选中“显示面孔”复选框。这会将高度降低到 35px。