Facebook分享按钮 - '附件无法找到'

时间:2014-05-08 16:45:04

标签: facebook button share facebook-sharer

我已经实施了Facebook分享按钮,如下所示:

<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_GB/sdk.js#xfbml=1&version=v2.0";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));</script>
    <div class="fb-like" data-href="http://www.facebook.com/bookf1" data-layout="button_count" data-share="false" data-width="180" data-show-faces="false" data-font="tahoma"></div>
    <div class="fb-share-button" data-type="button"></div>

它按预期出现在我的网站上,点击它会显示带有预期显示的sharer.php。但是,当我点击“共享链接”按钮时,它会显示“思考”动画一秒钟然后没有任何反应。 sharer.php弹出窗口仍保留在屏幕上。

如果我尝试通过私信分享链接,我会收到错误消息“无法找到附件”。

这是在可公开访问的网址上运行。

任何建议都会受到高度赞赏,因为我似乎无法在其他地方找到这个问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

我遇到了一个类似症状的类似问题,浪费了一些时间。

单击我的共享按钮后,打开了预期的弹出窗口。在url中可以看到sharer.php被调用了一个未知(至少对我来说)app-id作为参数。为相关网站创建Facebook应用程序并将新创建的app-id作为参数..

   <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/de_DE/sdk.js#xfbml=1&appId=MY_APP_ID&version=v2.0";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));</script>

..它有效。

出于调试目的,为js.src添加另一个源可能会有所帮助:

[...]
js.src = "//connect.facebook.net/de_DE/sdk/debug.js[...]
[...]

这会将调试消息记录到js-console。 (可以在这里阅读:https://developers.facebook.com/docs/javascript/quickstart/v2.0#advancedsetup