点击Facebook赞按钮后,我需要禁用“Say some about this”弹出框。
对此的简单解决方案是使用Like按钮的iFrame版本。但是,我喜欢的页面是用woobox托管的。我无法将类似按钮从HTML5更改为iframe版本,但我确实可以添加其他CSS和Javascript。
已经有很多解决方案发布到Stackoverflow,但有些用户已经指出它们不再有效Facebook Like Button - how to disable Comment pop up?我已经尝试了所有这些解决方案并且可以确认这一点。
答案 0 :(得分:3)
好的,我能够创造出可能对你有帮助的东西。
这是JSFiddle:JSFiddle
我基本上做的是将div按钮包含在隐藏溢出的div中。唯一的问题是,评论框在加载页面后第二次出现,但在之后消失。 (它仍然包含在div中,但它会覆盖类似的按钮一秒钟)
另一种方法可能是这样的:Changing iFrame elements
您需要查看来源并检查评论框的Facebook元素ID。 (看起来像是div#u_0_6._56zz._56z
)一旦你拥有了身份证,就可以尝试.hide()
或.css('display', 'none')
不幸的是,这个ID真的很模糊,并且在我看来它会定期变化。因此,如果它确实发生了变化,那么您的代码显然无效。
JSFiddle似乎确实有效。它看起来是你唯一可靠的选择。
答案 1 :(得分:1)
具体来说,参考Woobox布局的问题,您只想引用包含Like按钮的条目表单部分来隐藏溢出。以下CSS将独自完成这项工作:
.form-group .input-group.type-like .inputs.grid { overflow: hidden !important; }
如果您想使用自己的IFRAME版本的按钮插件完全替换默认的Like按钮,您可以使用以下内容:
CSS隐藏默认按钮:
.embedded .form-group .input-group.type-like .inputs.grid > div:first-child { display: none !important; }
和JS包含你自己的IFRAME版本的按钮,同时保持表单的一般设置相同
$(function() {
$( '.embedded .form-group .input-group.type-like .inputs.grid' ).prepend( '<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2Fportraitize&width&layout=button&action=like&show_faces=false&share=false&height=35&appId=872100376149378" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:22px; width:60px; float:left;" allowtransparency="true"></iframe>' );
});
答案 2 :(得分:1)
只需将此样式添加到style="overflow: hidden !important;"
到div
,就像我在下面所做的那样
<div class="fb-like pull-right" data-href="http://thegoldbook.in/demo/singlequestion.php?ques_no='.$ques_id.'" data-width="100" data-layout="button" data-action="like" data-show-faces="false" data-share="true" style="overflow: hidden !important;"></div>