ユーザーが自分のサイトに配置したFacebook(fbml)の「いいね!」ボタンをクリックしたときにポップアップするコメントボックスを無効にしたいのですが。これは可能ですか?ドキュメントに詳細が見つかりません。
ユーザーが自分のサイトに配置したFacebook(fbml)の「いいね!」ボタンをクリックしたときにポップアップするコメントボックスを無効にしたいのですが。これは可能ですか?ドキュメントに詳細が見つかりません。
回答:
Facebook Like(Xframe版ではなくXFBML版)の後にコメントボックスを非表示にする最も簡単な修正は、次のとおりです。
.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>
滞在同じサイズでなく、番組テキスト入力ボックス、を押しタブと閉じるとポストのボタンが見えるようになり。良くない。Firefoxでテストしていました。
私がやったことは、次のような「いいね」ボタンの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;
}
私はモハメドアリフのソリューションが好きで、それを最良の答えとして選択します。しかし、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」はFacebookの「いいね!」ボタンのコードを保持する「YOUR」のdiv idです。
ここでデビーダウナーになることはできませんが、コメントボックスを非表示にしてもFacebookのポリシーに違反しませんか?
IV。アプリケーション統合ポイントd。「いいね!」ボタンや「いいね!」ボックスのプラグインなど、ソーシャルプラグインの要素を覆い隠したり、覆ったりしてはなりません。
BrynJに同意します。現時点での最良の解決策は、高さ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実装を備えた「いいね!」ボタンはポップアップをトリガーしません。単にいいねボタンとして機能します。これは私の望んだ結果でした。
幸運を。
以下は、「いいね!」ボタンを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
2番目のクラスは、AddThisプラグインを使用する人のためのボーナスです。
私の場合(XFBMLバージョンで)、これをタグに追加しました:
width="90" height="20" style="overflow: hidden;"
したがって、最終結果は次のとおりです。
<fb:like data-href="URL" send="false" layout="button_count" width="90" height="20" style="overflow: hidden;" show_faces="false" colorscheme="light" action="like"></fb:like>
コメントポップアップを正しく非表示にします。
コメントボックスの非表示は機能しますが、コメントフライアウトボックスの後ろにクリック可能な要素がある場合は問題が発生する可能性があります。
それを非表示にし、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;
}
「いいね!」ボタンを含むiframeをボタンと同じサイズにするだけではどうでしょうか。
.fb_iframe_widget_lift
{
width: 49px !important;
height: 20px !important;
}
それでおしまい。