Facebook分享按钮不会显示

时间:2014-12-29 12:17:47

标签: javascript facebook facebook-javascript-sdk

我想添加一个非常基本的Facebook分享按钮,如下所示:

https://developers.facebook.com/docs/plugins/share-button?locale=fr_FR

问题是按钮不会简单地显示,没有javascript或网络错误。

有谁能说我做错了什么?

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>titre</title>
</head>
<body>
<div id="fb-root"></div>
<script>(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/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button"></div>


</body>
</html>

提前感谢您的帮助

6 个答案:

答案 0 :(得分:7)

明确的答案很愚蠢。代码中包含的javascript是加载SDK javascript的。

我遇到的问题是我在不通过网络服务器的情况下查看html页面。换句话说,我使用的是file://协议,并且在该协议下运行时,facebook SDK不起作用。虽然它确实吸引了很多东西并影响了DOM,但Facebook分享按钮却没有显示出来。

将其设置为仅在localhost(在我的情况下,IIS)中运行真正的Web服务器,并且显示按钮。希望这会对一些人有所帮助。

答案 1 :(得分:2)

第一行告诉你添加你没做过的sdk javascript。做以下事情你应该好好去:

<script type="text/javascript" src="Location of SDK javascript"></script>

答案 2 :(得分:1)

对我而言,尺寸属性阻止按钮显示。

添加

data-size="large"

到按钮的div标签,然后显示。

BTW,基于documentation,没有中等规模可供选择。

答案 3 :(得分:0)

有时看到Facebook按钮的这些问题是因为像Disconnect这样的浏览器扩展会阻止与Facebook等通信的脚本,所以如果是这样的话,请将您的网站列入白名单。

答案 4 :(得分:0)

除了将“sdk.js”更改为“all.js”之外,我还必须将“http:”添加到url中,即:

而不是:

js.src =“//connect.facebook.net/en_US/sdk.js#xfbml=1”;

使用:

js.src =“http://connect.facebook.net/en_US/all.js#xfbml=1”;

祝你好运

答案 5 :(得分:-1)

步骤1:获取Share按钮将存在的域的Facebook App ID。 第2步:将Facebook JavaScript SDK添加到您的网页。 第3步:添加代码以在Web页面上加载jQuery库 步骤4:添加一些jQuery和fb.ui代码以显示“共享”对话框