在Like-Button的setup dialog中,布局只有两个选项:
不幸的是,我雇主网站的数字远不及22'000,所以权力已经决定我们不应该显示“喜欢”的数量,直到这个数字对我们有利。据我所知,我无法通过Javascript或CSS访问按钮的布局(它位于facebook提供的iframe中)。还有其他方法可以隐藏计数吗?
答案 0 :(得分:54)
如果您执行overflow:hidden
,请记住它也会隐藏XFBML版本中出现的评论框...用户喜欢它之后。如果你这样做最好......
/* make the like button smaller */
.fb_edge_widget_with_comment iframe
{
width:47px !important;
}
/* but make the span that holds the comment box larger */
span.fb_edge_comment_widget.fb_iframe_widget iframe
{
width:401px !important;
}
答案 1 :(得分:42)
编码显示“推荐”的“喜欢”按钮宽度为84px,“喜欢”按钮为44像素,这样可以节省一些时间,像我这样的CSS人员需要隐藏我的页面当前不受欢迎的程度!我把这个代码放在我的主页上,所以最初我不希望它宣传我喜欢的内容很少。
答案 2 :(得分:42)
接受的答案很好,但要注意多语言页面。文本长度不同:
英语:喜欢
荷兰语:Vind ik leuk
德语:Gefälltmir
只是抬头。
答案 3 :(得分:11)
只包含div中的iframe,将宽度设置为按钮的宽度,将overflow设置为hidden 即。
<div style="width:52px;overflow:hidden;">
<fb:like layout="button_count"></fb:like>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId: 'YOUR_APP_ID',
status: true,
cookie: true,
xfbml: true
});
};
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
</div>
答案 4 :(得分:9)
现在Facebook正式支持。只需选择“按钮”布局即可。
答案 5 :(得分:3)
如果您使用Facebook的javascript按钮(这样您可以捕获类似事件),这就是我们必须做的事情:
由于Facebook最近以评论对话框显示的方式进行了更改,我们不得不改变隐藏它的方式。他们显示评论对话框的方式是“移动”我的overflow:hidden元素内的内容,以便用户在点击“赞”按钮后看起来非常奇怪。
除了添加一个包含'overflow:none'样式的包装元素外,您还需要隐藏Facebook放在页面上的注释元素:
样式:
span.no_overflow {
overflow: none;
width: 50px;
}
.no_overflow span.fb_edge_comment_widget.fb_iframe_widget {
display: none;
}
标记:
<span class="no_overflow">
<fb:like></fb:like>
</span>
我们仍在使用fb:尽管像标记一样。我没有使用Facebook现在在其网站上提供的基于div的新标记对此进行测试。
答案 6 :(得分:3)
我知道已经发布了许多解决方案,但我的解决方案仍有些不同。它适用于类似按钮的HTML5版本,仅使用css隐藏计数框。不要忘记添加appId
进行测试。
CSS:
<style type="text/css">
.fb-like span {
display: block;
height: 22px;
overflow: hidden;
position: relative;
width: 140px /* set this to fit your needs when support international sites */;
}
.fb-like iframe {
height: 62px;
overflow: hidden;
position: absolute;
top: -41px;
width: 55px;
}
</style>
FB Like Button:
<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_GB/all.js#xfbml=1&appId=xxxxxxxxxxxx";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-send="true" data-layout="box_count" data-width="450" data-show-faces="false"></div>
答案 7 :(得分:2)
似乎FaceBook最近改变了一些代码 - 每当我点击&#34; Like&#34;时,内容都会向左跳转,从而弄乱了UI。没有CSS / JS技巧使它工作。我选择了一个更简单的解决方案,使用 iframe 。
通知 - 虽然某些设备已经支持iFrame,但并非所有移动设备都支持iFrame。 iFrames实际上是旧的,根本不推荐,但它为我做了诀窍。
让我们从facebook获取默认的生成脚本,并生成类似iFrame的框;
Click here to generate like button
转到&#34; Box_Count&#34;风格,顶部有一个柜台。
当您按&#34;抓取代码&#34;时,请转到iFrame代码。你会得到类似的东西;
<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.example.com&send=false&layout=box_count&width=45056&show_faces=false&font&colorscheme=light&action=like&height=90&appId=1234567891011" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:45056px; height:90px;" allowTransparency="true"></iframe>
现在让我们在那里包裹一个div。
<div class="like_wrap">
<iframe (...)></iframe>
</div>
给它以下CSS:
.like_wrap {
width:55px;
height:25px;
overflow:hidden;
}
现在你可能会看到柜台的左上角。现在我们必须修复iFrame。给它上课;
<iframe class="like_box" (...)> </iframe>
并通过添加&#34;&amp; locale = en_US&#34;使其始终为英语。到URL。这是为了防止在其他国家出现奇怪的布局 - 在荷兰,这将是&#34; Vind ik leuk&#34;和英语&#34;喜欢&#34;。我想每个人都会用各种语言知道&#34;喜欢&#34;所以我们坚持下去。
现在我们将为like_box添加更多CSS;
.like_box {
margin-top:-40px;
}
所以整个代码看起来像这样(我已经删除了app_id,因为我不需要它)
HTML:
<div class="like_wrap">
<iframe class="like_box"
src="//www.facebook.com/plugins/like.php?href=CURRENT-URL-ENCODED&send=false&layout=box_count&width=45056&show_faces=false&font&colorscheme=light&action=like&height=90&locale=en_US"
scrolling="no"
frameborder="0"
style="border:none; overflow:hidden; width:45056px; height:90px;"
allowTransparency="true"></iframe>
</div>
CSS:
.like_wrap {
width:55px;
height:25px;
overflow:hidden;
}
.like_box {
margin-top:-40px;
}
现在我有一个体面,小巧的盒子,工作正常,不会跳转。让我知道这对你有用,如果你遇到任何问题。
答案 8 :(得分:2)
现在大多数建议已经不再有效了。
截至今天的正确解决方法是使用“按钮”布局。
例如。 <div class="fb-like" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button" data-action="like" data-show-faces="true" data-share="false"></div>
FB Docs,似乎还没有完全更新......如果向下滚动,你会看到它们只显示3种布局,但下拉列表显示4。
这意味着你现在可以使用一种不太苛刻的解决方案!
答案 9 :(得分:1)
我的解决方案是一个小引擎盖,但它的工作原理。我所做的只是基本上检测数字的位置,并使用css
在它上面盖一个盒子。我猜你也可以欺骗系统并添加更多点击量。以下是我使用jquery
的代码,但根据您在网页上放置类似按钮的位置,它会与其他代码不同。
不是最迷人但是嘿,安全性是要严格操纵框架内的内容。
<script type="text/javascript">
var facebook_load = '';
$(document).ready(function() {
facebook_load = setInterval('checkIframeFacebookLoad()',100);
});
function checkIframeFacebookLoad() {
if($('iframe.fb_ltr').length) {
var parent = $('iframe.fb_ltr').parent();
var hide_counter = $('<div></div>').attr('id', 'hide_count');
parent.append(hide_counter);
clearInterval(facebook_load);
}
}
</script>
<style type="text/css">
#hide_count {
position:absolute;
top:-8px;
left:122px;
background:#becdd5;
padding:5px 10px;
}
</style>
答案 10 :(得分:1)
这对我有用:
.fb-like.fb_edge_widget_with_comment.fb_iframe_widget {
height: 26px;
overflow: hidden;
width: 138px;
}
答案 11 :(得分:0)
将以下内容添加到css中应该隐藏用户的文本元素并保持FB Happy
.connect_widget_not_connected_text
{
display:none !important; /*in your stylesheets to hide the counter!*/
}
- 更新
尝试使用其他方法。
答案 12 :(得分:0)
Facebook现在支持隐藏计数,在标记中使用它:
data-layout="button"
答案 13 :(得分:-1)
这是我尝试过的,它在ff,chrome和ie8中运行良好:
/* set width for the <fb:like> tag */
.fb-button {
width:51px;
}
/* set width for the iframe below, to hide the count label*/
.fb-button iframe{
width:45px!important;
}
答案 14 :(得分:-3)
您需要做的就是编辑facebook为您提供的iframe代码,并将宽度更改为47(您需要在2个位置更改它)。到目前为止似乎对我来说完美无缺。