为FB发送添加自定义按钮

时间:2016-02-05 02:29:52

标签: javascript php wordpress facebook facebook-graph-api

您好我刚刚发现FB.api显示错误'此对话框在此设备上无法使用' 。我也做了一些研究,答案几乎是差不多3年前的事了。现在我的问题是,是否有新的更新,我可以创建自己的自定义fb发送按钮?当我点击它时,它会显示一个新窗口或弹出窗口。就像whatsapp分享按钮和线应用程序一样。感谢高级,我想了解更多有关此FB API的信息。

至于我现在使用的是FB api,试试这个,如果它还显示了什么

<div id="send" class="messenger-share">
    <i class="fa fa-messenger"></i>
</div>

<script>
    $("#send").click(function() {
        FB.ui({
            app_id: '665679653572224',
            method: 'send',
            link: "<?php the_permalink(); ?>",
        });
    });
</script>

1 个答案:

答案 0 :(得分:1)

我创造了一个小提琴,你可以在这里看到它。

https://jsfiddle.net/jimedelstein/14mv8kms/2/

您需要做的就是替换URL(我非常明确地评论了它)。

你想像这样动态加载最新的facebook api

window.fbAsyncInit = function() {
    FB.init({
        appId: '665679653572224',
        xfbml: true,
        version: 'v2.5'
    });
};

(function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) {
        return;
    }
    js = d.createElement(s);
    js.id = id;
    js.src = "//connect.facebook.net/en_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

由于您发布了appId,我更新了init脚本以使用它。

然后,像这样连接FB.ui“share”调用:

$("#send").click(function() {
  FB.ui({
    method: 'share',
    href: "<?php the_permalink(); ?>"
  }, function(response) {});
});

有关详情,建议您查看Facebook提供的文档:https://developers.facebook.com/docs/javascript