使用 Javascript 创建自定义 Facebook 共享


Create custom Facebook share with Javascript

我正在尝试用javascript制作facebook共享按钮。

这是我的代码:

<script>
window.fbAsyncInit = function() {
    FB.init({
        appId: 'my app id',
        status: true,
        cookie: true,
        xfbml: true
    });
};
(function(d, debug) {
    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" + (debug ? "/debug" : "") + ".js";
    ref.parentNode.insertBefore(js, ref);
}(document, /*debug*/ false));
function postToFeed(title, desc, url, image) {
    var obj = {
        method: 'feed',
        link: url,
        picture: image,
        name: title,
        description: desc
    };
    function callback(response) {}
    FB.ui(obj, callback);
}
var fbShareBtn = document.querySelector('.fb_share'); //my problem start
fbShareBtn.addEventListener('click', function(e) {
    e.preventDefault();
    var title = fbShareBtn.getAttribute('data-title'),
        desc = fbShareBtn.getAttribute('data-desc'),
        url = fbShareBtn.getAttribute('href'),
        image = fbShareBtn.getAttribute('data-image');
    postToFeed(title, desc, url, image);
    return false;
});

这是 HTML:

<div id="fb-root"></div>        
<a href="mysite.com/mypost" data-image="my image" data-title="my title" data-desc="Let's See and comment" target="_blank" type="button" class="btnku btn-efbe fb_share" id="123">Facebook</a>

问题是分享按钮仅适用于帖子编号 1 或顶部帖子。我认为这是因为javascript没有抓住id

有什么答案吗?

您也可以从这里获取代码: https://www.addthis.com/dashboard#gallery/