Facebook共享脚本

时间:2016-02-29 20:47:37

标签: facebook share

我希望有一个" facebook分享"网页上的链接或按钮。我们的想法是分享一个链接和一个简短的描述,与twiter相同。不需要页面的图像或标题

过去,以下链接有效: - " http://www.facebook.com/sharer.php?u=" + complete_url + message

现在,facebook忽略了该消息并丢弃了完整的URL链接。相反,它只显示主页的标题。

我在堆栈溢出时发现了这个答案: - Make my own custom Facebook share button

尝试过(下面的脚本) - 我收到了错误:' FB'未定义

如果你能告诉我,我将不胜感激: - 1.我做错了什么? 2.我们每次都要从facebook服务器下载sdk.js吗?

脚本是这样的:

<html><head>
<script>
function onClick() {
        FB.ui({
            method: 'share',
            href: 'the_complete_url_to_specific_page'
        });
    }

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

    (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'));
</script>
</head>
<body>

<a href='#' onclick='onClick() ;return false;'> share on FacebookR</a>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

首先:不,您不需要更改API版本。只有当您需要使用仅在较新版本中提供的内容时,请偶尔查看更改日志:https://developers.facebook.com/docs/apps/changelog

如果未加载JavaScript,则会出现“FB is undefined”错误。很可能你不是在真实的服务器上(也可以是localhost)尝试你的代码,而是从你的文件系统。您可以尝试像这样添加“https”到源,或者(更好)测试真实服务器上的代码:

js.src = "https://connect.facebook.net/en_US/sdk.js";

应用ID不是您的用户ID,而是您在此处创建应用后获得的ID:https://developers.facebook.com/apps

顺便说一句,用户可以在弹出共享对话框时立即输入消息。