Facebookを「送信」ボタンをデフォルトで開くボタンを開く
-
22-10-2019 - |
質問
サイトにFacebookの「送信」ボタンを使用したい(ここで説明するように: http://developers.facebook.com/docs/reference/plugins/send).
デフォルトでは、[送信]ボタンがページに小さなボタンとして表示されます。ユーザーが送信ボタンをクリックすると、はるかに大きなダイアログボックスに開きます。
私が望んでいるのは、ユーザーが送信ボタンをクリックしたかのように、ページが読み込まれたときに自動的に開くダイアログボックスが自動的に開くことです。
私は悪意のあることを求めていません。これは私のサイトの「共有」ページに表示されるため、ダイアログを開くだけで、オープンダイアログは小さな送信ボタンよりもはるかに良く見えます。改ざんされた「送信」や他のスパムのことをするつもりはありません。
jqueryを使用してこの単純なビットを試しましたが、うまくいきません...
function expose() {
$(".fb_button").click();
}
$(document).ready(function() {
setTimeout(expose, 1000);
});
解決
FBソーシャルプラグインはIFRAME内で「カプセル化されている」のではありませんか?その場合、イベントをボタンにバインドできません。そして、たとえそれがiframeにない場合でも、Facebookはあなたの意図が良い場合でも自動クリックを「強制」するのを止めようとすると思います
他のヒント
あなたのコードで最初に見られる問題は、ボタンを.fb_buttonと呼んでいることですが、投稿したFacebook開発者リンクから取得したコードは.fb-sendです。自分で変更したことを考慮すると、問題はSettimeOutから関数を呼び出すことです。それは形式でなければなりません
setTimeout("expose()", 1000);
それがうまくいくことを願っています
https://developers.facebook.com/docs/reference/dialogs/send/これには、JavaScriptでダイアログを持ち出す例があります