2

Facebookの「ウォールへの投稿」ダイアログを自分のサイトに表示するのに苦労していますが、表示されるのはそのページのコードだけです。

これが起こるべきことです:

  1. 訪問者が私のサイトに来て、私が作成したカスタムの「共有」ボタンをクリックします
  2. 訪問者は別のページのフィード ダイアログ ボックスにリダイレクトされ、私のページを共有します。
  3. 次に、私が提供したものをダウンロードします。

Facebook アプリを作成し、Facebook 開発者ページからコードをコピーして、必要なものをすべて入力しましたが、共有をクリックすると、代わりにすべてのコードを含むページに移動します。

ここに画像の説明を入力

4

1 に答える 1

1

これを試して、javascript SDK をロードします。

<div id="fb-root"></div>
    <script>
        window.fbAsyncInit = function() {
            FB.init({
              appId      : 'YOUR_APP_ID', // App ID
              channelUrl : 'URL_TO_CHANNEL_FILE', // Channel File optional
              status     : true, // check login status
              cookie     : true, // enable cookies to allow the server to access the session
              xfbml      : true  // parse XFBML
            });
        };

        // Load the SDK Asynchronously
        (function(d){
            var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
            if (d.getElementById(id)) {return;}
            js = d.createElement('script'); js.id = id; js.async = true;
            js.src = "//connect.facebook.net/en_US/all.js";
            ref.parentNode.insertBefore(js, ref);
        }(document));
    </script>

次に、ボタンにリスナーを追加します。ボタンに id があるとします。bt-download

<script>    
$(document).on("click", "#bt-download", function(){
       var obj = {
            method: 'feed',
            link: 'link to your webpage',
            picture: "url to the picture you want size 90px x 90px",
            name: 'the name you want',
            caption: 'your caption',
            description: 'your description',
            display: 'popup'
       };

       function callback(response) {
           if (response && response.post_id) {
            alert('Post was published.');
            //here you can redirect the user to the download page
           } else {
             alert('Post was not published.');
           }
       }
       FB.ui(obj, callback);

            });
</script>
于 2013-03-28T20:04:51.003 に答える