Answers:
给出了在Facebook Like(XFBML版本不是iframe版本)后隐藏评论框的最简单的解决方法:
.fb_edge_widget_with_comment span.fb_edge_comment_widget iframe.fb_ltr {
display: none !important;
}
将CSS样式放在您的任何CSS文件中,然后看一下魔术,它可以正常工作:)
将iframe放入适当大小的div中,并将溢出设置为隐藏即可解决此问题-尽管实际上只是这样隐藏了问题。
我在CSS中使用它:
.fb-like{
height: 20px;
overflow: hidden;
}
并使用正常的HTML5代码渲染Facebook按钮,如下所示:
<div class="fb-like" data-layout="button_count" data-show-faces="false"></div>
gr-
<div>
保持相同的大小,但显示文本输入框,然后按Tab键,然后“ 关闭”和“ 发布”按钮变为可见。不好。我正在使用Firefox进行测试。
我所做的是为“ like”按钮创建一个div,如下所示:
<div class="fb_like">
<fb:like href="yourlink" send="false" layout="button_count" width="90" show_faces="false" font="arial"></fb:like>
</div>
这是CSS:
.fb_like {
overflow: hidden;
width: 90px;
}
我喜欢穆罕默德·阿里夫(Mohammed Arif)的解决方案,我选择它作为最佳答案。但是,如果FB更改了类别,则以下内容将始终有效。
FB.Event.subscribe('edge.create', function(response) {
$('#like_button_holder').html('<div class="fb-like" data-href="http://www.your-url.com" data-send="false" data-layout="button_count" data-width="50" data-show-faces="false"></div>')
FB.XFBML.parse();
});
其中“ like_button_holder”是“您的” div ID,其中包含类似于按钮代码的facebook
不要在这里成为Debby Downer,但不要隐藏评论框违反Facebook政策吗?
IV。应用程序集成点d。您不得遮盖或掩盖我们社交插件的元素,例如“赞”按钮或“赞”框插件。
同意BrynJ的观点,目前最好的解决方案是将like按钮放在20px高div容器中,并将溢出设置为隐藏(我在某处看到FB最近将注释弹出按钮移入了iFrame,因此该解决方案修改了的样式。 fb_edge_widget_with_comment可能对iFrame用户不再有用。
使用AddThis?做这个:
<div class="container" style="height: 20px; overflow: hidden;">
<div class="addthis_toolbox addthis_default_style">
<a class="addthis_button_facebook_like"></a>
</div>
</div>
通过实现IFRAME版本,我设法规避了Facebook之类的按钮评论弹出窗口问题。为此,我采取了以下步骤:
从我可以看到,具有IFRAME实现的like按钮不会触发任何弹出窗口。它只是用作一个赞按钮。这是我想要的结果。
祝好运。
这是使“喜欢”按钮与Twitter和Linkedin一起用作标准按钮的代码。希望能帮助到你。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>FB</title>
<style>
.social ul { overflow: hidden; margin:0; padding:0; list-style: none; }
.social ul li { float: left; margin-right: 10px; }
</style>
</head>
<body>
<div id="fb-root"></div>
<div class="social">
<ul>
<li class="facebook">
<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.smh.com.au&send=false&layout=button_count&width=45&show_faces=false&font&colorscheme=light&action=like&height=21&appId=333450970117655" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:48px; height:21px;" allowTransparency="true"></iframe>
</li>
<li class="twitter">
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.smh.com.au" data-count="none">Tweet</a>
</li>
<li class="linkedin">
<script type="IN/Share" data-url="http://www.smh.com.au/"></script>
</li>
</ul>
</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=333450970117655";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');
</script>
<script src="//platform.linkedin.com/in.js" type="text/javascript">lang: en_US</script>
</body>
</html>
让我们尝试一下:
FB.Event.subscribe('edge.create', function(response) {
var $parent = $('[href="'+response+'"]').parent();
$parent.empty();
$parent.html('<fb:like href="'+response+'" send="false" layout="button_count" width="120" show_faces="false" action="like"></fb:like>');
FB.XFBML.parse();
});
如果您使用较新的HTML5按钮,并且您应该向前兼容并得到Facebook的建议,那么这很容易,与其他人所说的不同:
.fb-like, .addthis_button_facebook_like
height: 25px
overflow: hidden
第二类是对使用AddThis插件的用户的奖励。
隐藏注释框可以正常工作,但是如果注释弹出框后面有可单击的元素,则会造成问题。
您必须将其隐藏并将其从DOM帖子中删除。
这是隐藏注释框的CSS:
.fb_edge_widget_with_comment span.fb_edge_comment_widget iframe.fb_ltr {
display: none !important;
}
这是删除DOM元素的JQuery方法:
FB.Event.subscribe('edge.create', function (href, widget) {
$('.fb_edge_comment_widget.fb_iframe_widget').remove()
});
这是使用回调提供的小部件的纯JavaScript方法:
FB.Event.subscribe('edge.create', function (href, widget) {
widget._commentWidgetNode.parentNode.removeChild(widget._commentWidgetNode);
});
如果您只想显示“喜欢”按钮,则可以尝试这样的操作
HTML:
<div class="fb_like">
<div class="fb-like" data-href="http://google.com" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false"></div>
<div class="like_counter_hider"></div>
</div>
CSS:
.fb_like {
overflow: hidden;
width: 80px;
height: 20px;
}
.like_counter_hider {
position: absolute;
top: 0;
left: 45px;
width: 35px;
height: 20px;
background-color: #f3f3f3; /*you'll have to match background color*/
z-index: 200;
}