【问题标题】:Open Facebook Share Dialog with jQuery click()使用 jQuery click() 打开 Facebook 分享对话框
【发布时间】:2013-10-17 09:36:02
【问题描述】:

当我尝试使用以下代码打开 Facebook 共享对话框时,我遇到了 jQuery click() 函数的问题:

 $(".like a").click(function (e) {
    window.open('http://www.facebook.com/sharer.php?s=100&amp;p[title]=<?php echo $title;?>&amp;p[summary]=<?php echo $summary;?>&amp;p[url]=<?php echo $url; ?>&amp;p[images][0]=<?php echo $image;?>','sharer','toolbar=0,status=0,width=548,height=325');
    e.preventDefault();
    return false;
})

当我点击链接时,它会打开一个共享对话框,里面没有文字,没有描述,没有标题,没有 URL。 使用此链接打开的相同 URL 运行良好:

<a onClick="window.open('http://www.facebook.com/sharer.php?s=100&amp;p[title]=<?php echo $title;?>&amp;p[summary]=<?php echo $summary;?>&amp;p[url]=<?php echo $url; ?>&amp;p[images][0]=<?php echo $image;?>','sharer','toolbar=0,status=0,width=548,height=325');" href="javascript: void(0)">Insert text or an image here.</a>

在这两种情况下生成参数的 PHP 代码都是这样的:

<?php 
$title=urlencode('Event'); 
$url=urlencode('http://www.my_site.com');
$summary=urlencode('Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do    eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.');
$image=urlencode('http://www.yourdomain.com/images/share-thumbnail.jpg');
?>

-------更新-----

渲染代码Javascript函数:

window.open('http://www.facebook.com/sharer.php?s=100&amp;p[title]=Event&amp;p[summary]=1+Lorem+ipsum+dolor+sit+amet%2C+consectetur+adipisicing+elit%2C+sed+do+eiusmod+tempor+incididunt+ut+labore+et+dolore+magna+aliqua.+Ut+enim+ad+minim+veniam%2C+quis+nostrud+exercitation+ullamco+laboris+nisi+ut+aliquip+ex+ea+commodo+consequat.+Duis+aute+irure+dolor+in+reprehenderit+in+voluptate+velit+esse+cillum+dolore+eu+fugiat+nulla+pariatur.+Excepteur+sint+occaecat+cupidatat+non+proident%2C+sunt+in+culpa+qui+officia+deserunt+mollit+anim+id+est+laborum.&amp;p[url]=http%3A%2F%2Fwww.my_site.com&amp;p[images][0]=http%3A%2F%2Fwww.yourdomain.com%2Fimages%2Fshare-thumbnail.jpg','sharer','toolbar=0,status=0,width=548,height=325');

渲染代码 onclick():

onclick="window.open('http://www.facebook.com/sharer.php?s=100&p[title]=Event&p[summary]=1+Lorem+ipsum+dolor+sit+amet%2C+consectetur+adipisicing+elit%2C+sed+do+eiusmod+tempor+incididunt+ut+labore+et+dolore+magna+aliqua.+Ut+enim+ad+minim+veniam%2C+quis+nostrud+exercitation+ullamco+laboris+nisi+ut+aliquip+ex+ea+commodo+consequat.+Duis+aute+irure+dolor+in+reprehenderit+in+voluptate+velit+esse+cillum+dolore+eu+fugiat+nulla+pariatur.+Excepteur+sint+occaecat+cupidatat+non+proident%2C+sunt+in+culpa+qui+officia+deserunt+mollit+anim+id+est+laborum.&p[url]=http%3A%2F%2Fwww.my_site.com&p[images][0]=http%3A%2F%2Fwww.yourdomain.com%2Fimages%2Fshare-thumbnail.jpg','sharer','toolbar=0,status=0,width=548,height=325');"

感谢大家的帮助

【问题讨论】:

  • 您是否检查过客户端收到的 JS 代码 - 您尝试使用 PHP 输出的值是否实际设置在其中?
  • 你能告诉我们渲染的代码吗?
  • 我已经添加了渲染代码。谢谢
  • 你能提供两个场景的在线示例吗?

标签: javascript jquery facebook


【解决方案1】:

我认为 Facebook sharer.php 不再接受查询字符串参数。

它会读取您要共享的 URL 上的打开图形标签。

因此,请确保您分享的 URL 具有正确的 og 标签。

【讨论】:

  • 你唯一可以传递的参数是u分享的URLdevelopers.facebook.com/docs/plugins/share
  • 抱歉,如果我尝试使用相同的 URL,使用 onclick() 函数,我将拥有我的个性化共享对话框。它工作正常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-26
  • 2016-05-30
  • 1970-01-01
  • 1970-01-01
  • 2014-05-31
  • 1970-01-01
相关资源
最近更新 更多