0

私のウェブサイトには Facebook アプリがあり、Facebook 接続は正常に機能します。ユーザーのウォールに投稿するオプションがありますが、ウォールへの投稿はポップアップとして発生し、ほとんどのブラウザはポップアップを自動的に無効にしています。そのため、ほとんどの人がポップアップを有効にしないため、壁の投稿は私が望むように機能していません。この投稿をポップアップではなくする解決策はありますか。

fb接続に使用したコードは

<script>

window.fbAsyncInit = function()
{
    FB.init({
        appId  : '',
        status : true, // check login status
        cookie : true, // enable cookies to allow the server to access the session
        xfbml  : true , // parse XFBML
        oauth : true // Enable oauth authentication
    });

FB.login(function(response)
{
    if (response.authResponse)
    {

        FB.api('/me/feed', 'post',
                {
                    message     : "",
                    link        : '',
                    picture     : "",
                    name        : '',
                   description  : ''

           },
           function(response) {
               showLoader(false);

                if (!response || response.error) {
                    alert('Error occured');
                } else {
                    alert('Post ID: ' + response.id);
                }
            });
    }

}, { scope : 'publish_stream' });
};

</script>

<!-- FACEBOOK -->        
<div id="fb-root"></div>
<script>
(function() {
 var e = document.createElement('script');
// replacing with an older version until FB fixes the cancel-login bug
  e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
  //e.src = 'scripts/all.js';
  e.async = true;
  document.getElementById('fb-root').appendChild(e);
  }());
</script>
<!-- END-OF-FACEBOOK -->
4

1 に答える 1

2

ポップアップを開くのは投稿ではなく (FB.apiバックグラウンド メソッドであり、ポップアップを開くことはありません)、FB.login呼び出しです。

ドキュメントに記載されているように、このメソッドはページの読み込み時ではなく、明示的なユーザー操作 (ログイン ボタンのクリック) で呼び出す必要があります。デフォルト構成の現在のブラウザーのポップアップ ブロッカーは、ユーザーの操作で発生するポップアップをブロックしません。

それが十分でない場合は、ログイン ダイアログの直接 URL バージョンを使用できます。これにより、ユーザーは Facebook に移動し、ログイン後にページに戻ります: https://developers.facebook.com/docs/howtos/ login/client-side-without-js-sdk/#step2

于 2013-03-14T14:16:00.637 に答える