简体   繁体   中英

Open Facebook Share Dialog with jQuery click()

I've a problem with jQuery click() function when I try to open the Facebook Share Dialog with this code:

 $(".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;
})

When I click the link it open a Share Dialog wthout text inside, no description, no title, no URL. The same URL opened with this link work well:

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

The PHP code that generate the parameters are this in both cases:

<?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');
?>

-------Update-----

Rendered code Javascript function:

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');

Rendered code 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');"

Thanks to all for help

I don't think the Facebook sharer.php accepts query string parameters anymore.

It reads the open graph tags on the URL you're tring to share.

So make sure the URL your'e sharing has the proper og tags.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM