自定义“Facebook Share”内容

时间:2012-11-02 16:41:40

标签: javascript jquery facebook api facebook-sharer

我正在编辑这个问题,以便它比我最初写的更有意义。

我正在实施以下代码,以便在我的网站上添加Facebook“分享”按钮。我的问题是这个脚本直接在脚本中调用'link','picture','name','caption'和'description'的实际值。

如何更改此代码,以便自动从我的网站提取此信息。例如,我需要它从当前拉取URL并将其分配给“链接”。另一个例子:我不想提供图片的URL,而是将代码指向某个类。

<script> 
  FB.init({appId: "YOUR_APP_ID", status: true, cookie: true});

  function postToFeed() {

    // calling the API ...
    var obj = {
      method: 'feed',
      link: 'https://developers.facebook.com/docs/reference/dialogs/',
      picture: 'http://fbrell.com/f8.jpg',
      name: 'Facebook Dialogs',
      caption: 'Reference Documentation',
      description: 'Using Dialogs to interact with users.'
    };

    function callback(response) {
      document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
    }

    FB.ui(obj, callback);
  }

</script>

这是http://developers.facebook.com/docs/reference/dialogs/feed/

1 个答案:

答案 0 :(得分:1)

window.location.pathname只会返回网址的路径部分,您还需要添加自己的域名。 window.location.href将返回此内容。很容易更改代码来执行此操作:

<script> 
  FB.init({appId: "YOUR_APP_ID", status: true, cookie: true});

  function postToFeed() {

    // calling the API ...
    var obj = {
      method: 'feed',
      link: window.location.href,
      picture: 'http://fbrell.com/f8.jpg',
      name: 'Facebook Dialogs',
      caption: 'Reference Documentation',
      description: 'Using Dialogs to interact with users.'
    };

    function callback(response) {
      document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
    }

    FB.ui(obj, callback);
  }

</script>