为什么这个Facebook共享代码不起作用?

时间:2013-12-19 11:15:44

标签: javascript php facebook

我正在尝试为我的网站制作自定义Facebook共享功能,我正在使用Facebook共享者URL在弹出窗口中打开Facebook共享。但是,由于某些原因它不起作用。

我正在做的很简单:

function shareFB(){
    var img=$('#fb_img').html();
    var text=$('#fb_share').html();
    var url=$('#fb_url').html();

    var full_url='http://www.facebook.com/sharer.php?s=100&p[title]=MyTitle&p[summary]='+text+'&p[url]='+url+'&&p[images][0]='+img;

    window.open(full_url, 'sharer', 'toolbar=0,status=0,width=548,height=325');
}

奇怪的是,我给imgtexturl或者即使我使用了所有这些值也无关紧要。在下面的示例中,我完全删除了img并设置了text="whatever"url="http://www.domain.com/stats_leagues.php"

https://www.facebook.com/sharer/sharer.php?s=100&amp%3Bp[title]=SportFant&amp%3Bp[summary]=whatever&amp%3Bp[url]=http%3A%2F%2Fwww.domain.com%2Fstats_leagues.php

然而它不起作用 - 它只是打开一个空的弹出窗口。为什么?我已经使用相同的URL格式为Facebook共享十几次,它总是有效。即使将上面的格式化URL复制/粘贴到我的浏览器中,也会打开一个空白页面。

1 个答案:

答案 0 :(得分:0)

我不知道你从哪里获得了所有这些参数,比如s=p[title]等,可能来自某些旧版本的facebook分享?

在Facebook share button文档上,在常见问题解答下,它说:

  

是的,虽然我们建议使用“共享”按钮为使用您网站的用户提供最简单,最一致的体验,但您可以使用以下链接调用“共享”对话框:<a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fparse.com" target="_blank">

所以只需将您的代码更改为:

function shareFB() {
    var url = $('#fb_url').html(); #encode url if it is not already
    var full_url = 'http://www.facebook.com/sharer.php?u='+url; 
    window.open(full_url, 'sharer', 'toolbar=0,status=0,width=548,height=325');
}

常见问题解答还指出,Facebook会抓取您的页面以获取其他信息,例如标题,图片等。它会从您的页面中删除您的OG元标记。调试它here