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 回答